博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用scrapy的定制爬虫-第二章-概
阅读量:6264 次
发布时间:2019-06-22

本文共 793 字,大约阅读时间需要 2 分钟。

hot3.png

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

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支持.

我正在下载一个大文件.所以连续写了两篇...
大概跑爬虫时发下一篇...

转载于:https://my.oschina.net/u/1024140/blog/119479

你可能感兴趣的文章
如何取消未知类型文件默认用记事本打开
查看>>
[Javascript] Immute Object
查看>>
Java 关于finally、static
查看>>
Posix mq和SystemV mq区别
查看>>
P6 EPPM Manual Installation Guide (Oracle Database)
查看>>
XMPP协议、IM、客户端互联详解
查看>>
PHP写文件函数
查看>>
mysql的sql_mode合理设置
查看>>
函数连续性与可导性
查看>>
linux下libevent安装
查看>>
用ip来获得用户所在地区信息
查看>>
卡尔曼滤波
查看>>
linux下面覆盖文件,如何实现直接覆盖,不提示
查看>>
CSS3阴影 box-shadow的使用和技巧总结
查看>>
Linux下高cpu解决方案
查看>>
SQL事务用法begin tran,commit tran和rollback tran的用法
查看>>
centos7 crontab笔记
查看>>
.Net AppDomain.CurrentDomain.AppendPrivatePath(@"Libs");
查看>>
【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D
查看>>
Android Mina框架的学习笔记
查看>>