为什么偶尔会出现TypeError?

时间:2017-10-04 15:45:16

标签: python

我的python报废程序正在运行TypeError。

这是我的代码:

from bs4 import BeautifulSoup
import requests, feedparser

cqrss = feedparser.parse('https://www.reddit.com/r/pics/new.rss')

for submission in cqrss.entries:
    folder_name = submission.title #use for create folder
    reddit_url = submission.link
    source = requests.get(reddit_url)
    plain_text = source.content
    soup = BeautifulSoup(plain_text, 'lxml')
    title = soup.find('a', 'title may-blank outbound', href=True)
    if 'imgur.com' in title['href']:
        imgur_link = title['href']
    print(imgur_link)

错误:

if 'imgur.com' in title['href']:

TypeError: 'NoneType' object is not subscriptable

我做错了什么?

1 个答案:

答案 0 :(得分:2)

某些数据的

find“失败”(即找不到任何内容)并返回None

if title and 'imgur.com' in title['href']:
    imgur_link = title['href']
    print(imgur_link)

应该有用。

请注意,print已在if子句下移动,因为如果没有数据,则调用它显然没有意义。