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

时间:2013-07-12 22:36:05

标签: python web-scraping scrapy scrapy-spider

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

1 个答案:

答案 0 :(得分:10)

可以使用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) ]

希望有所帮助。