HTTP POST and parsing JSON with Scrapy
我有一个网站,我想从中提取数据。 数据检索非常简单。
它使用HTTP POST获取参数并返回JSON对象。 所以,我有一个我想要做的查询列表,然后以一定的间隔重复更新数据库。 scrapy适合这个还是我应该使用其他东西?
我实际上不需要关注链接,但我确实需要同时发送多个请求。
看起来像POST请求怎么样? 有许多变体,例如简单查询参数(
在scrapy中发出POST请求相当简单,请参阅:http://doc.scrapy.org/en/latest/topics/request-response.html#request-usage-examples
例如,您可能需要以下内容:
1 2 3 4 5 6 7 8 9 | # Warning: take care of the undefined variables and modules! def start_requests(self): payload = {"a": 1,"b": 2} yield Request(url, self.parse_data, method="POST", body=urllib.urlencode(payload)) def parse_data(self, response): # do stuff with data... data = json.loads(response.body) |
基于我对该问题的理解,您只想以一定的间隔从网页中获取/抓取数据。 Scrapy通常用于爬行。
如果您只想发出http post请求,可以考虑使用python请求库。
为了处理请求和检索响应,scrapy绰绰有余。 要解析JSON,只需使用标准库中的
1 2 3 4 | import json data = ... json_data = json.loads(data) |
希望这可以帮助!