廿陆- Python 爬虫 异步改为同步加多进程 以及 某著名社交网站爬虫设想
1. 前言
前几天折腾了很久之后,发现有很多结果出来不满意,反正是我自己个人的项目,所以其实没什么所谓。
但精益求精总是要的吧,反正在家闲着也是闲着。
2. 异步爬虫改回同步爬虫
因为发现渲染JS
需要使用浏览器
,而 Python
的 selenium
包无法作为异步同时处理
,所以我还是把程序改回同步
并且使用 Supervisor
来做多进程
。
详情可看之前的,逆向做就是了。
廿壹-爬 URL 、Python 异步 、Supervisor 安装配置等事宜
3. 人工清理数据
在前期做的页面增加了页面是删除含某些关键字
的样本以及显示数据库规模的页面。
其实主要是发现爬出来的数据,很多都是不太像样,有很多广告,有很多不需要的信息,有很多重复捉取的信息。
前期项目:
廿肆-Django 建设 WebApp 管理 MongoDB 数据库内容
4. MongoDB 随机抽样
刚做了很久测试,发现
aggregate([{'$match': dictFilter}, {'$sample': {'size': intLimit}}])
的确是随机抽样
的,那就好。
5. 某社交网站爬虫
网络上应该是有专门的爬虫软件
的,但我觉得我可能需要自己练练手,所以我选择某个有公开帖子
的社交网站
或论坛
来爬。
其中可能比较重要的东西有两样:
- 针对网站的网页信息
Tag 、 Class
捉取,要针对网站定制化
- 针对链接的处理
- 针对用户建立单都记录并管理
- 是否有展开性的数据记录(如用户关系)
- 因为数据均为较新的,所以不怕捉到旧的数据
这个可能需要先制定好框架,可以沿用前期已经做好的泛用爬虫
做基础。
6. 睡觉
就这样先吧,做下去或不做下去也没啥所谓的其实我觉得。