Я использую красивый модуль супа, чтобы очистить название списка веб-страниц, сохраненных в csv. Сценарий, кажется, работает нормально, но как только он достигнет домена 82nd он выдает следующее сообщение об ошибке:Beautiful Soup error
Traceback (most recent call last):
File "soup.py", line 31, in <module>
print soup.title.renderContents() # 'Google'
AttributeError: 'NoneType' object has no attribute 'renderContents'
Я довольно новыми для Python, так что я не уверен, что понял ошибку, будет ли кто-нибудь в состоянии уточнить, что происходит не так?
мой код:
import csv
import socket
from urllib2 import Request, urlopen, URLError, HTTPError
from BeautifulSoup import BeautifulSoup
debuglevel = 0
timeout = 5
socket.setdefaulttimeout(timeout)
domains = csv.reader(open('domainlist.csv'))
f = open ('souput.txt', 'w')
for row in domains:
domain = row[0]
req = Request(domain)
try:
html = urlopen(req).read()
print domain
except HTTPError, e:
print 'The server couldn\'t fulfill the request.'
print 'Error code: ', e.code
except URLError, e:
print 'We failed to reach a server.'
print 'Reason: ', e.reason
else:
# everything is fine
soup = BeautifulSoup(html)
print soup.title # '<title>Google</title>'
print soup.title.renderContents() # 'Google'
f.writelines(domain)
f.writelines(" ")
f.writelines(soup.title.renderContents())
f.writelines("\n")
Спасибо! который, похоже, выполняет эту работу. –