首页 > 其他 > 详细

scrapy请求发送解析

时间:2019-08-10 01:13:07      阅读:125      评论:0      收藏:0      [点我收藏+]

scrapy自动发送请求

  对start_urls列表中存储的起始url进行过请求的发送并没有通过手动实现,但是在parse函数中还是获取到了响应数据,这是因为爬虫文件中的爬虫类继承到了Spider父类中的start_requests(self)这个方法,该方法就可以对start_urls列表中的url发起请求:

1 def start_requests(self):
2         for u in self.start_urls:
3            yield scrapy.Request(url=u,callback=self.parse)

【注意】该方法默认的实现,是对起始的url发起get请求,如果想发起post请求,则需要子类重写该方法。

1 def start_requests(self):
2         #请求的url
3         post_url = http://fanyi.baidu.com/sug
4         # post请求参数
5         formdata = {
6             kw: wolf,
7         }
8         # 发送post请求
9         yield scrapy.FormRequest(url=post_url, formdata=formdata, callback=self.parse)

手动对需要获取的内容的url发起请求  

1 #手动发起get请求,url指定,callback指定回调解析函数(可自定义),meta可以传递参数,封装在request中以便回调解析函数使用(request.item)
2 yield scrapy.Request(url=url,callback=self.parse1,meta={})
3 #手动发起post请求:formdata为请求参数,callback指定回调解析函数(可自定义),meta可以传递参数,封装在request中
4 yield scrapy.FormRequest(url=url,formdata=formdata, callback=self.parse2,meta={})

 

在请求中,cookie的处理是scrapy自动封装好的。

 

  

scrapy请求发送解析

原文:https://www.cnblogs.com/open-yang/p/11330098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!