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请求的主要内容,如果未能解决你的问题,请参考以下文章

python中scrapy怎么发送一个post请求

Scrapy 框架 手动发送请求 POST 请求的发送

scrapy基础知识之发送POST请求:

如何在scrapy中发送带有标头和有效负载的Post请求

python爬虫scrapy入门8:发送POST请求

python爬虫scrapy入门8:发送POST请求