对于熟悉图像板的人来说,OP帖子可能包含也可能不包含“主题”和“评论”
我写这篇文章是为了搜索给定董事会的所有页面的主题和OP帖子。
如果我的搜索词存在于其中一个上但另一个键不存在则不会附加到我的res列表中。
那么我该如何搜索1键或其他可能不存在的json键?
import urllib, json, HTMLParser
def s4Chan(board, search):
logo = '3::54chan'
res = []
p = HTMLParser.HTMLParser()
catalog = json.load(urllib.urlopen('https://api.4chan.org/%s/catalog.json' % board))
for i in catalog:
for j in i['threads']:
try:
if search.lower() in j['sub'].lower() or search.lower() in j['com'].lower():
subject = j['sub']
post = p.unescape(str(j['com'])).replace('<br>', ' ')
if len(post) > 300:
post = post[0:300]
post = post + '...'
text = str('%s /%s/ %s | %s | %s (R:%s, I:%s)' % (logo, board, subject, post, 'https://4chan.org/%s/res/%s' % (board, j['no']), j['replies'], j['images']))
res.append(text)
except(KeyError):
continue
return res
答案 0 :(得分:0)
json.load
以Python词典的形式返回对象。例如,您可以使用dict
的{{3}}方法:
if search.lower() in j.get('sub', '').lower() or search.lower() in j.get('com', '').lower():