scrapy爬取新浪重点新闻

目标:爬虫程序每天自动从新浪新闻中心首页爬取重点新闻并整理,通过微信公众号把重点新闻推送给用户。

一、前期准备

1、开发环境

Python 2.7 Scrapy 1.5.0

4、构建scrapy项目,执行命令:scrapy startproject newsscrapy

二、爬虫开发

1、定义提取的Item(结构化数据)

2、spider从response中提取Item

3、定义pipeline处理item

4、修改settings.py配置,引入pipeline

5、在项目目录下执行scrapy crawl sinaspider,顺利爬取到新闻数据

三、策略优化

爬虫的目标网站一般都做了反爬虫的策略,如果爬虫行为不进行伪装,很容易就被机器人识别出身份并采取相关的防御措施,如:拒绝连接、伪造假信息、302重定向等,因此需要制定一些反反爬虫的策略。

1、关闭robot协议

2、禁止重试

3、禁止cookie

4、延迟下载重试时间

5、设置下载超时时间

6、随机UserAgent,在pipeline的DOWNLOADER_MIDDLEWARES引入

7、使用ip代理(免费的ip代理不稳定,略)

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180720G16FMI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券