三级页面爬取速度变慢
来源:15-5 django实现elasticsearch的搜索功能 -1
纪年之爱
2018-04-21
老师你好,问一个课外问题,我爬一个网站,共3级页面,其中第二级页面只做中转,不做数据保存。
一级页面有三百多条数据,每条数据对应的一个链接可以跳转到二级页面,二级页面有几十到几百个链接不定,然后每个链接对应一个三级页面。
假如我只爬取一级页面,速度很快,(无关数据量多少,就是纯爬取速度)。
可是如果我要是一级和三级页面一起爬取(以三级页面数据获取速度来讲),刚开始速度特别快,每分钟几百条,而仅仅一会之后,速度下降到每分钟几条。
写回答
1回答
-
纪年之爱
提问者
2018-04-23
我试了不爬第三层,同时把第二层的网址存到redis里面,第二层共有一千多条网址,
以上操作很快就完成了。
然后我新开了一个爬虫,先用start_requests函数取代start_urls从redis中循环读取网址,
然后yield到parse函数,然后就是类似普通的伯乐网爬取了,
获取传来的网址A里面的数据和下一级网址Bs。
每个A大概有最多一百多个Bs
然后我把Bs传到prase_detail获取具体信息保存到数据库。
结果我发现,竟然比之前的方法更慢,之前的方法是一开始特别快,后来慢,这个方法倒好,一开始就慢到极致062018-04-25
相似问题