def fetch(self):
from secrets import NYT_API_KEY
params = urllib.urlencode({
'api-key': NYT_API_KEY,
'fq': "section_name:(\"World\" \"U.S.\")",
'begin_date': datetime.strftime(self.date_dt, "%Y%m%d"),
'end_date': datetime.strftime(self.next_date_dt, "%Y%m%d")
})
url = "https://api.nytimes.com/svc/search/v2/articlesearch.json?" + params
logging.debug(url)
response = urlfetch.fetch(url, method=urlfetch.GET)
items = []
IMAGE_BASE = "http://www.nytimes.com/"
MIN_WIDTH = 300
if response.status_code == 200:
j_response = json.loads(response.content)
results = j_response.get('response', {}).get('docs', [])
for news in results:
cat = news.get('news_desk')
multimedia = news.get('multimedia')
image = None
for mm in multimedia:
w = mm.get('width')
if w > MIN_WIDTH:
image = IMAGE_BASE + mm.get('url')
item = Item(
svc=SERVICE.NYT_NEWS,
title=news.get(
'headline',
{}).get('main'),
image=image,
details=news.get('snippet'),
link=news.get('web_url'),
id=news.get('_id'),
type=SERVICE.NEWS)
items.append(item.json())
return items
评论列表
文章目录