【问题标题】:How to send post data in start_urls of the scrapy spider如何在scrapy spider的start_urls中发送post数据
【发布时间】:2013-07-11 14:16:18
【问题描述】:

我想抓取一个只支持发布数据的网站。我想发送查询参数 在所有请求中发布数据。如何做到这一点?

【问题讨论】:

    标签: python web-scraping scrapy scrapy-spider


    【解决方案1】:

    可以使用 scrapy 的 RequestFormRequest 类发出 POST 请求。

    另外,考虑使用start_requests() 方法而不是start_urls 属性。

    例子:

    from scrapy.http import FormRequest
    
    class myspiderSpider(Spider):
        name = "myspider"
        allowed_domains = ["www.example.com"]
    
        def start_requests(self):
            return [ FormRequest("http://www.example.com/login",
                         formdata={'someparam': 'foo', 'otherparam': 'bar'},
                         callback=self.parse) ]
    

    希望对您有所帮助。

    【讨论】:

    • 但是我应该将帖子数据传递到RequestFormRequest 的哪个参数? bodyformdata?
    • 您应该使用formdata 字典来发布数据。
    • 你是如何使用 url 列表的?
    猜你喜欢
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    相关资源
    最近更新 更多