zhihu_spider/README.md

6.7 KiB
Raw Blame History

爬取知乎的内容

考虑到将写的内容爬取下来,保存起来的避免误删,算是个备份的,而且方便查找,阅读起来也更方便,使用起来也好很多

亮点

1、保存回答pdfmarkdown并保存相应的图片、codes以及website排版基本按照网页支持保存数学公式到markdown,回答会保存提问和自己的回答

2、保存articlepdfmarkdown并保存相应的图片、codes以及website排版基本按照网页支持保存数学公式到markdown

3、保存想法到text并保存相应的图片最后对所有text进行汇总到一个档案

爬取到的想法展示

按照发布时间分目录存放,保存了图片以及文本文件 点击即可进入think目录查看的 2023-01-21 13:01

爬取到的article展示

点击即可进入article目录查看的 每篇article都附带了修改时间和IP属地

保存到Markdown格式的数学公式、codes和图片 泰勒公式推导方式 c++_set运算符重载

保存到PDF格式的标题下面是网址

爬取到的回答展示

点击即可进入answer目录查看的 每篇回答也附带了修改时间和IP属地

保存到Markdown格式的数学公式、codes和图片 矩阵A正定证A的逆矩阵和伴随矩阵也正定 Visual_Studio_Code_怎么编写运行_C、C++_程序

保存到PDF格式的标题下面是网址

环境以及安装

win10 python 1、点击下面这个网页安装miniconda也就是安装python下载好以后安装即可在安装时需要加入到系统环境变量勾选下图第二个框即可。 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_23.3.1-0-Windows-x86_64.exe 2、接着需要修改python安装的路径将msedgedriver\.condarc这个档案放到根目录C:\Users\username即可另外再打开一个cmd或者PowerShell 运行conda clean -i输入Y即可此时Python已经可以使用了 3、安装Python相关的调用库另外再打开一个cmd或者PowerShell运行 cd C:\Users\usrname\zhihu pip install -r .\requirement.txt

使用

1、登录

运行以下内容,这一步是手动操作需要人工输入账号和密码然后点击登录就行登录以后会自动保存好cookie以后爬取时就不用重复登录了保存的cookie在这个目录的cookie,产生的档案是cookie_zhihu.pkl

python.exe crawler.py

运行以后会弹出一个浏览器,自动打开知乎页面以后就可以开始登录,下图所示就是登录页面,两类登录方式都可以,只要能登录就行,点击登录以后不要再操作页面键盘或鼠标都不可以登录时间默认给了130s时间130秒以后会自动退出然后查看目录cookie是否保存好cookie_zhihu.pkl保存好就可以开始爬取了。

2、每项单独爬取

爬取一旦开始就自动运行了,爬取窗口一般不能最小化,可以做其他事情的 爬取知乎想法

默认的爬取每篇想法的睡眠时间是 6s*图片的数量 以上 python.exe crawler.py --think

爬取知乎回答 默认的爬取每篇回答的睡眠时间是16s以上,这边实际爬取耗时平均是每篇 30s python.exe crawler.py --answer

爬取知乎的article 默认的爬取每篇article的睡眠时间是16s以上这边实际爬取130多篇耗时平均是每篇 33.096s python.exe crawler.py --article

3、三项一起爬取的

python.exe crawler.py --think --article --answer

又发布了一篇,只爬取写的这篇

第一次可以全部爬取等所有article或者回答或者想法都已经爬取好以后此时若是又写了一篇或者几篇而且想爬取到本地可以将article/article.txt这个档案重命名到article/article_2023_06_20.txt或者重命名answer.txt然后将写好的article或者回答的网址和标题按照之前档案的格式再create一个article.txt/answer.txt档案运行爬取程序就可以了的想法会跳过已经爬取好的时间所以可以按照上面的方式运行此时只会爬取article.txt/answer.txt的网址
若是过了很长时间,发布了很多篇,此时一篇一篇加入不太方便,可以直接将article/article.txt这个档案重命名到article/article_2023_06_20.txt或者重命名answer.txt然后运行爬取程序即可上面提到了已经爬取过的不会重复爬取所以实际只会爬取最近写好的article或者回答想法则会直接跳过已经爬取的内容。

目录

think:该目录存放爬取到的想法内容 article该目录存放article的website以及爬取到的内容 answer该目录存放回答的website以及爬取到的内容

爬取注意事项

1、需要较好的网速本机网速测验是下载100Mbps上传60Mbps低点也可以的不是太慢太卡就行https://www.speedtest.cn/ 2、爬取时设置了睡眠时间, 避免给知乎服务器带来太大压力,可以日间调试好,然后深夜运行爬取人少, 给其他小伙伴更好的用户体验, 避免知乎顺着网线过来找人,默认6s