以下是代码:
# -*- coding: utf-8 -*-
import urllib2
from bs4 import BeautifulSoup
with open('/users/Rachael/Desktop/CheckTitle.csv', 'r') as readcsv:
for row in readcsv.readlines():
try:
openitem = urllib2.urlopen(row).read()
soup = BeautifulSoup(openitem, 'lxml')
print soup.head.find('title').get_text()
except urllib2.URLError:
print 'passed'
pass
我得到了以下结果:
(A):
passed
贝贝网京外裁员10%:团队要保持狼性和危机感_新浪财经_新浪网
垂直电商贝贝网被曝裁员 回应称只是10%人员优化_新浪财经_新浪网
(B):
passed
Traceback (most recent call last):
File "C:/Users/Rachael/PycharmProjects/untitled1/GetTitle.py", line 10, in
<module>
print soup.head.find('title').get_text()
AttributeError: 'NoneType' object has no attribute 'find'
(C):
passed
贝贝网京外裁员10%:团队要保持狼性和危机感_新浪财经_新浪网
Traceback (most recent call last):
File "C:/Users/Rachael/PycharmProjects/untitled1/GetTitle.py", line 10, in <module>
print soup.head.find('title').get_text()
AttributeError: 'NoneType' object has no attribute 'find'
我随机获得这三种结果。
如果我做了soup.title OR soup.title.text或者是soup.title.string,它将返回相同/类似的错误。
请帮忙!
我发现这很难描述,所以如果这是一个重复,请给我链接到类似的帖子。
谢谢!
答案 0 :(得分:0)
'NoneType' object has no attribute
是在没有此对象的结果时发生的错误,请尝试仅打印print soup.head.find('title')
标题而不打印.text
它应返回类似'[]'的内容或“无”
回答 :在其中一个网站上没有实际标题标记或某种 bot 保护在那个文件中。