小编典典

如何在scrapy spider的start_urls中发送发布数据

python

我想抓取仅支持帖子数据的网站。我想在所有请求的后数据中发送查询参数。如何实现呢?


阅读 214

收藏
2021-01-20

共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) ]

希望能有所帮助。

2021-01-20