Python 为什么偶尔会出现打字错误?
我的python报废程序遇到了TypeError 这是我的密码:Python 为什么偶尔会出现打字错误?,python,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
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
我做错了什么?查找
“失败”(即找不到任何内容)用于某些数据,并返回无
if title and 'imgur.com' in title['href']:
imgur_link = title['href']
print(imgur_link)
应该有用
请注意,print
被移动到if
子句下,因为如果数据不在那里,调用它显然没有意义。find
“失败”(即找不到任何东西)用于某些数据,并返回None
if title and 'imgur.com' in title['href']:
imgur_link = title['href']
print(imgur_link)
应该有用
请注意,
print
被移动到了if
子句下,因为如果数据不存在,调用它显然没有意义。这意味着标题中的“href”键为None(null)。因此,首先检查它是否为空,如果不为空则获取链接。@Steampunkery我认为关于title
不可订阅的抱怨,意味着第一位没有href
键,甚至没有丢失,它不可能存在。如果href
下的值是无
我想它会说该值是不可编辑的。@如果该键不存在,它不会抛出一个keyerror吗?@Steampunkery是的,如果它们的键在title
中不存在,但即使可以检查它,title
也应该是可订阅的。事实并非如此。你甚至连钥匙都找不到。执行title['href']
已经错误。@luk32如何正确提取标题链接?这意味着title中的'href'键为None(null)。因此,首先检查它是否为空,如果不为空则获取链接。@Steampunkery我认为关于title
不可订阅的抱怨,意味着第一位没有href
键,甚至没有丢失,它不可能存在。如果href
下的值是无
我想它会说该值是不可编辑的。@如果该键不存在,它不会抛出一个keyerror吗?@Steampunkery是的,如果它们的键在title
中不存在,但即使可以检查它,title
也应该是可订阅的。事实并非如此。你甚至连钥匙都找不到。执行title['href']
已经错误。@luk32如何正确提取标题链接?