scrapy发送post请求
Posted xiao-apple36
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy发送post请求相关的知识,希望对你有一定的参考价值。
重写父类中的一个方法(start_requests):该方法默认可以对start_urls列表中的元素进行get请求的发送
1.将Request方法中method参数赋值成post
2.FormRequest()可以发起post请求(推荐)
实例:发送post请求抓取百度翻译
spider文件
import scrapy import json class PostdemoSpider(scrapy.Spider): name = ‘postDemo‘ # allowed_domains = [‘www.baidu.com‘] start_urls = [‘https://fanyi.baidu.com/sug‘] # 该方法其实是父类中的一个方法:该方法可以对start_urls列表中的元素进行get请求的发送 # 发起post: # 1.将Request方法中method参数赋值成post # 2.FormRequest()可以发起post请求(推荐) def start_requests(self): # for url in self.start_urls: # yield scrapy.Request(url,callback=self.parse) print(‘start_requests()‘) # post请求的参数 data = { ‘kw‘: ‘dog‘, } for url in self.start_urls: yield scrapy.FormRequest(url,callback=self.parse,formdata=data) def parse(self, response): jsobj = json.loads(response.body) # json处理 fanyi_data = jsobj[‘data‘] print(fanyi_data)
以上是关于scrapy发送post请求的主要内容,如果未能解决你的问题,请参考以下文章