gpt4 book ai didi

python - JSON 响应和 Scrapy

转载 作者:行者123 更新时间:2023-12-01 05:36:39 25 4
gpt4 key购买 nike

我正在尝试使用 Scrapy 将来自纽约时报 API 的 JSON 响应解析为 CSV,以便我可以获得特定查询的所有相关文章的摘要。我想将其以 CSV 格式输出,其中包含链接、发布日期、摘要和标题,以便我可以对摘要描述运行一些关键字搜索。我对 Python 和 Scrapy 都很陌生,但这是我的蜘蛛(我收到 HTTP 400 错误)。我已经在蜘蛛中 xx 出了我的 api key :

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

如果有人有任何想法/建议,包括 Scrapy 之外的想法/建议,请告诉我。提前致谢。

最佳答案

您应该设置start_urls并使用parse方法:

from scrapy.spider import BaseSpider
import json


class MySpider(BaseSpider):
name = "nytimesapijson"
allowed_domains = ["api.nytimes.com"]
start_urls = ['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 parse(self, response):
jsonresponse = json.loads(response)

print jsonresponse

关于python - JSON 响应和 Scrapy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com