Lorsque vous exécutez le code suivant:attribut erreur pour crawler web
import urllib
import re
from urllib import request
import webbrowser
#email pattern
r'[\w._(),:;<>][email protected][\w._(),:;<>][.]\w+'
# url pattern
r'\w\w\w[.]\w+[.]\w+'
html = urllib.request.urlopen('somelinkthatistoolongforstackoverflow')
#find all websites
websites = re.findall(r'http://www[.]\w+[.]\w+',str(html.read()))
print(websites)
#find all emails
emails = re.findall(r'[\w._(),:;<>][email protected][\w._(),:;<>][.]\w+',str(html.read()))
print(emails)
#sort through websites and find other links
for i in websites:
y = urllib.request.urlopen(i)
x = re.findall(r'http://www[.]\w+[.]\w+',str(y.read()))
websites.append(x)
Je reçois cette erreur:
AttributeError: 'list' object has no attribute 'timeout'
Avis AttributeError. Que puis-je faire à ce sujet? J'utilise le module urllib et le module regex (expressions régulières). C'est en python 3.3.0. Est-ce que quelqu'un peut m'aider avec ça? Si vous pouvez m'aider s'il vous plaît poster ci-dessous. Ceci est censé être un robot d'exploration Web pour trouver autant de liens et d'adresses e-mail que possible. Merci à tous ceux qui peuvent aider.
Veuillez inclure le * full * traceback. –