点击上方 月小水长 并 设为星标,第一时间接收干货推送
这是 月小水长 的第 60 篇原创干货
最近有一位朋友,想请我帮个忙,爬取知乎某个账号的所有的回答、视频、文章、想法的评论、点赞数,比如下面这个账号的 149 个回答,24 个视频,206 篇文章,95 个想法。
经过我一阵折腾,写了几百行代码,终于搞定了这个需求,最终的效果如下图
teng-xun-70 就是我们要爬取的账号,answer.csv、post.csv、video.csv、pins.csv 分别是爬取的这个账号回答、文章、视频、想法的内容并保存下来的文件。
这个爬虫全自动执行,而且不要手动复制 cookie,只需要输入账号,以及是否是机构号即可,具体下文我会展开,最后我将这个爬虫加密打包成了可执行文件,关注本公众号(月小水长) 并在后台回复 知乎2020 即可获得下载链接,下载到本地解压到新文件夹。
接下来是具体操作流程
第一步,确保电脑装了 chrome 浏览器,并在 cmd 下,切换到 chrome 的安装目录(一般是 ),输入以下命令
chrome.exe --remote-debugging-port=9222 --user-data-dir="E:data_infoselenium_data"
这个命令最后那个文件夹路径可随意更新,只有保证为空且不是中文即可
第二步,双击 zhihu.exe,他会弹出一个界面
第三步,根据提示输入账号,比如我想要爬豆瓣阅读的,在知乎上搜这个账号并打开它的主页,浏览器上 url 显示为
https://www.zhihu.com/org/dou-ban-yue-du
最后面的 就是账号
第四步,判断是否是机构还是个人,从上面的 url 中,可以判断是机构号, 即 orgnization 的缩写,如果是个人号,url 中的 会是,程序中这一步只有输入 才判断是个人号,否则默认是机构号。
输完回车,后台就在自动抓取了,等到四个文件全部出现的时候,说明就已经爬完了。
对技术不感兴趣的同学可以忽略下面一段话
总结一下,代码主要用到的知识点有 chrome 调试技巧, webdriver 以及它的一些比较高级的 tricks,xpath、pandas 等,感兴趣的同学可以逐个学习下,最近有同学在交流群里问怎么学爬虫,我觉得这是一个很大的话题,我一直是项目驱动至上主义,可能这并不适合所有人,想过出过一个爬虫基础系列,所以想在这里做个调研,可在下方留言区评论。