如何在scrapy蜘蛛的start_urls中发送帖子数据

niz*_*.sp 8 python scrapy web-scraping scrapy-spider

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

ale*_*cxe 12

POST请求可以使用scrapy的RequestFormRequest类进行.

另外,请考虑使用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) ]
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.