Python错误-AttributeError:';非类型';对象没有属性';拆分';
以下是错误: 模块中第34行的文件“f**.py”Python错误-AttributeError:';非类型';对象没有属性';拆分';,python,Python,以下是错误: 模块中第34行的文件“f**.py” url_type = url.split('-')[0][-2:] # 这是整个街区: fit_urls = [] for event_url in event_urls: print event_url try: sock = urllib.urlopen(event_url) event_html = sock.read() event_soup = BeautifulSoup(event_html)
url_type = url.split('-')[0][-2:] #
这是整个街区:
fit_urls = []
for event_url in event_urls:
print event_url
try:
sock = urllib.urlopen(event_url)
event_html = sock.read()
event_soup = BeautifulSoup(event_html)
tds = event_soup.find_all('td')
for td in tds:
for link in td.find_all('a'):
url = link.get('href')
url_type = url.split('-')[0][-2:] letters
if url_type == 'ht':
#print url
fit_urls.append(url)
except HTTPError:
pass
`这是因为您的任何
'link'
没有'href'
属性。在执行url=link.get('href')
之前,您可以通过添加打印链接来验证它
为了解决此问题,您可以添加一个附加的if
检查以过滤以下链接:
for td in tds:
for link in td.find_all('a'):
url = link.get('href')
if url: # additional check. will be `False` when `'url'` will be `None`
url_type = url.split('-')[0][-2:] letters
# Your rest of the code
看起来url=link.get('href')
正在返回None
。您可以在循环中检查None
:
for td in tds:
for link in td.find_all('a'):
url = link.get('href')
if not url:
continue
url_type = url.split('-')[0][-2:] letters
if url_type == 'ht':
#print url
fit_urls.append(url)
没有链接link.get
生成None
,因为其中没有'href'
。它看起来像url=link。get('href')
返回None
,即在链接中找不到url(或者找不到链接,具体取决于库的行为)