10

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

4

1 回答 1

15

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

希望有帮助。

于 2013-07-12T22:46:45.313 回答