2019-06-16爬虫

动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)

禁用Cookies(前提是爬取的网站不需要cookies参数)(也就是不启用cookies middleware,不向Server发送cookies,有些网站通过cookie的使用发现爬虫行为)

使用cookies池,自定义中间件

除非特殊需要,否则禁用cookies,防止某些网站根据Cookie来封锁爬虫。

当引擎传递请求(Request)给下载器的过程中,下载中间件可以对请求进行处理(例如增加http header信息(User-Agent),增加proxy代理等);

在下载器完成http请求,传递响应给引擎的过程中, 下载中间件可以对响应进行处理

要激活下载器中间件组件,将其加入到 DOWNLOADER_MIDDLEWARES 设置中。 该设置是一个字典(dict),键为中间件类的路径,值为其中间件的优先级。值越低,代表优先级越高。

scrapy crawl 爬虫名称 -s JOBDIR=crawls/爬虫名称

然后,你就能在任何时候安全地停止爬虫(按Ctrl-C或者发送一个信号,这时候会看到crawls文件夹下保存了一些文件)。恢复这个爬虫也是同样的命令:

scrapy crawl 爬虫名称 -s JOBDIR=crawls/爬虫名称

link_extractor:是一个Link Extractor对象,用于定义需要提取的链接。

callback: 从link_extractor中每获取到链接得到Responses时,会调用参数所指定的值作为回调函数,该回调函数接收一个response作为其一个参数。

follow:是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进。如果callback为None,follow 默认设置为True ,否则默认为False。

process_links:指定spider中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤。

process_request:指定处理函数,根据该Rule提取到的每个Request时,该函数将会被调用,可以对Request进行处理,该函数必须返回Request或者Noneallow:满足括号中“正则表达式”的URL会被提取,如果为空,则全部匹配。

deny:满足括号中“正则表达式”的URL一定不提取(优先级高于allow)。

allow_domains:会提取的链接的domains。

deny_domains:一定不会被提取链接的domains。

restrict_xpaths:使用xpath表达式,和allow共同作用过滤链接。

你可能感兴趣的:(2019-06-16爬虫)