最近一直想写个爬虫项目,刷知乎时看到不少相关文章,也都放了 GitHub 地址。不过大多代码量不小,看着一大片 Python 代码有点晕。

后来发现了一个比较简洁的项目:moranzcw/Zhihu-Spider。几个文件,四五百行代码,不用 MySQL,直接把用户信息的 JSON 写进 CSV。自己从头写的事先放一放,先 clone 下来跑跑看。

爬取思路

从一个或几个用户开始,读取他们的关注列表,再沿着这些用户的关注列表继续往下找。

起始用户 → 关注列表 → 列表中的用户 → 各自的关注列表

这里选择的是关注列表,而不是粉丝列表。想法是从比较活跃的用户出发,更容易找到持续产出内容的人。不过关注关系不等于影响力排序,这样得到的也只是部分用户,不能代表知乎的全部用户。

跑了一天

设置好代理以后开始运行,机器的各项指标还算平稳,代理却不太稳定,平均每秒能拿到约 3 个用户的信息。

程序跑了一天,保存了约 25 万条用户数据,CSV 文件总共约 1 GB。JSON 直接放在 CSV 的字段里,后面分析时再读取、解析,不需要先设计一套数据库表。

这次感觉主要还是卡在代理上,机器本身倒没有明显吃紧。代理的获取和检测单独记在了HTTP 代理池实现里,可用代理的稳定性还得继续看。

数据先存下来,接下来再试着做一些简单分析。

最后修改:2017 年 08 月 21 日
如果觉得我的文章对你有用,请随意赞赏