这是崔斯特的第五十七篇原创文章
快、更快 (๑• . •๑)
缘来
今天下班前,老板让我帮忙爬一个数据,简单看了下,需要登录,看起来应该不难。回到家,注册一个账号,复制url
,然后用postman转代码,简单暴力,直接撸。
这里说下postman的一个BUG,发送请求不会获得任何数据,如果你遇到,建议升级postman为最新版本
代码
|
|
代码相当简单,fetch
函数用来抓取列表页,get_detail
函数抓取详情页,save_mongo
保存数据库,需要说明下的就是最后使用的多线程了,这里号使用的是futures
,并不想说很多大道理,来看看文档
提高速度
concurrent.futures 是python3新增加的一个库,用于并发处理,提供了多线程和多进程的并发功能
线程池
|
|
进程池
|
|
关于入库方面,建议是增加唯一索引, coll.create_index('url', unique=True)
,一个是去重,一个是提高查询速度。