Я пытаюсь разобрать ответ JSON от API New York Times с помощью Scrapy to CSV, чтобы у меня было резюме всех связанных статей с конкретным запросом. Я хотел бы выплюнуть это как CSV со ссылкой, датой публикации, резюме и названием, чтобы я мог выполнить несколько поисков ключевых слов в сводном описании. Я новичок в Python и Scrapy, но вот мой паук (я получаю ошибку HTTP 400). Я xx'ed мой ключ API в пауке:JSON Response and Scrapy
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from nytimesAPIjson.items import NytimesapijsonItem
import json
import urllib2
class MySpider(BaseSpider):
name = "nytimesapijson"
allowed_domains = ["http://api.nytimes.com/svc/search/v2/articlesearch"]
req = urllib2.urlopen('http://api.nytimes.com/svc/search/v2/articlesearch.json?q="financial crime"&facet_field=day_of_week&begin_date=20130101&end_date=20130916&page=2&rank=newest&api-key=xxx)
def json_parse(self, response):
jsonresponse= json.loads(response)
item = NytimesapijsonItem()
item ["pubDate"] = jsonresponse["pub_date"]
item ["description"] = jsonresponse["lead_paragraph"]
item ["title"] = jsonresponse["print_headline"]
item ["link"] = jsonresponse["web_url"]
items.append(item)
return items
Если кто имеет какие-либо идеи/предложения, в том числе onese снаружи Scrapy, пожалуйста, дайте мне знать. Заранее спасибо.
400 означает, что запрос GET в URL имеет неверный формат. Возможно, попробуйте sort = newest, а не rank = newest. http://developer.nytimes.com/docs/read/article_search_api_v2 – umeboshi
все еще имеет ту же проблему, но спасибо за предложение – eroma934
Я действительно смог исправить ошибку HTTP, но теперь CSV-файл пуст. – eroma934