如今互联网时代,爬虫无处不在,许多行业都使用爬虫采集数据,比如电子商务行业,在大量的数据中可以挖掘有价值的资料。
采集的平台有大有小,小平台好采集,但大平台就不容易了,除了反爬机制厉害之外,技术难度也增加了。如果需要采集上百万的数据,应该怎么采集呢?下面跟**万变ip**加速器工程师一起去了解一下百万级数据怎么爬取。
2.页面分析
发现一共有88万多个问题,再看一下页面的列表规律,我们按照每页最大显示50个问题,一共有17776页,数据非常大
然后在上面的spider类里面把页面解析的数据一一对于存起来
item = StackoverflowItem()
item[ ‘desc’] = desc
item[ ‘title’] =title
item[ ‘view’] =view
item[ ‘answer’] =answer
item[ ‘vote’] =vote
item[ ‘start’] = start
item[ ‘user’] = user
yield item
三、大规模的爬取
看起来好像一切顺利,于是我们开始运行爬虫爬取,大概爬取12000个数据左右,IP就会被封掉,大量的429 错误代码会出现.很明显有反爬的策略.这个时候我们的本机IP已经封掉了,这个时候想要继续爬取,有两个办法:
第一种办法:用代理IP
1).构建一个随机的代理池
网上免费的代理IP池很多,我们可以自己本地解析这些网页构建一个代理池,存在数据库里面,也可以访问一个付费的稳定的代理.
2).构建一个下载的中间价
Scrapy强大之处在于,它给了我们很多接口,扩展性非常好!基本上爬虫的方方面面它都内置了,类似Django真是居家旅行必备。我们只需要几行代码就能搞定