用Scrapy采集一些数据,关于Post方式和Request payload数据类型,做几点记录。
1、Scrapy怎么使用Post方式抓取:
重写start_requests方法,在你的spiders里写上:
def start_requests(self):
# 循环采集链接
for url in self.start_urls:
# 格式化数据
dumpJson = json.dumps(self.data)
yield scrapy.Request(url=url,method='POST', headers=self.headers, body=dumpJson, callback=self.parse,dont_filter=True,errback=self.errback)
这样就实现了Post方式。
2、Request payload数据怎么添加:
在查看发送数据的时候,发现是Request payload数据,如下:
把该数据构造出来data,看上边的代码,Post过去的Body,是data格式化后的数据,data数据如下:
data = {
'categoryCode': 'ZcyAnnouncement2',
'keyword': 'CT',
'pageNo': '1',
'pageSize': '15',
'utm': 'sites_group_front.2ef5001f.0.0.af33fef0f3fc11ea9eb6154810f2d106'
}
把data格式化之后传过去就可以了。
记录的有些零散,不清楚的欢迎留言讨论。
下一篇介绍一下scrapy.Request callback不执行 的处理方式。