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)
 
         
         
        

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM