【发布时间】:2013-07-11 14:16:18
【问题描述】:
我想抓取一个只支持发布数据的网站。我想发送查询参数 在所有请求中发布数据。如何做到这一点?
【问题讨论】:
标签: python web-scraping scrapy scrapy-spider
我想抓取一个只支持发布数据的网站。我想发送查询参数 在所有请求中发布数据。如何做到这一点?
【问题讨论】:
标签: python web-scraping scrapy scrapy-spider
可以使用 scrapy 的 Request 或 FormRequest 类发出 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) ]
希望对您有所帮助。
【讨论】:
Request 或FormRequest 的哪个参数? body 或 formdata?
formdata 字典来发布数据。