使用scrapy的定制爬虫-第二章-概

Deadly 提交于 2019-12-01 09:26:44

但在堆代码之前,先预研一下,然后想想下面几个问题.

1,你定制爬虫的目标
2,预计的规模
3,是否需要js支持
4,是单次爬取还是周期性爬取
5,其他
6,突破网站的防爬取策略

如上几个问题也并非完全独立,他们通常相互影响.如固定的爬取目标通常有可预计的爬取规模.
etc...


1,爬取的目标,你所需要爬取的网站url是固定的集合还是变动的.对于类似比价这种爬取目标固定的,问题要略简单一点,你需要爬取的是那些站,能遇到的问题将在一次完整爬取发生.但对于非固定目标爬取则略困难.一个场景是我从搜索引擎搜索一系列关键字,将获得的结果作为目标爬取.很难确保你写的爬虫在所有目标上工作都是正常的.

2,爬取规模影响方面很多,对于一次固定的小规模爬取,可以完全不考虑各类优化.但对于规模较大的爬取,则需要考虑各种优化.有如下方面.1,分布式.2,各部分的效率,如内容解析效率(正则,xpath等),链接提取效率,3,settings中相关参数的配置.

3,是否需要js(javascript)支持,如今越来越多的网站使用js生成内容.也有可能出于防爬取的目的采用js.根据具体情况采用模拟js相关动作解决或使用js引擎,webkit之类完整执行.

4,单次爬取较易,周期性爬取涉及周期长短,如何保障周期内完成这次爬取任务.根据任务量和实际需求确定爬取周期.

5,其他,如何支持http缓存来提高效率,是否支持iframe.是否需要在规范上,行为上更像一个浏览器(浏览器模拟)

6,各种防爬取策略及其相关在此系列中将不被提及.

接下来的文章将按问题的流行度完成,你猜第一篇是?-.-um,第一篇是javascript支持.
我正在下载一个大文件.所以连续写了两篇...
大概跑爬虫时发下一篇...

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!