重寫父類中的一個方法(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)