下面是代码:
# -*- 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或soup.title.text或soup.title.string,它将返回相同/类似的错误。
请帮帮我!
我发现这很难描述,所以如果这是一个dup在任何方面,请给我的链接到类似的帖子。
谢谢!!
发布于 2017-03-22 21:57:47
'NoneType' object has no attribute
是在此对象没有结果时发生的错误,请尝试只打印print soup.head.find('title')
标题而不打印.text
--它应该返回'[]‘或'None’之类的内容
答案:没有真正的标题标记,或者在文件中的某个站点上有某种bot保护。
https://stackoverflow.com/questions/42946077
复制相似问题