Я пытаюсь получить и проанализировать несколько URL-адресов, используя urllib и BeautifulSoup, но получаю следующую ошибку:
AttributeError: у объекта 'list' нет атрибута 'timeout'
Из того, что я понимаю, парсер говорит мне, что я отправил список, и он ищет один URL.Как я могу обработать несколько URL-адресов?
Вот мой код:
from bs4 import BeautifulSoup
from bs4.element import Comment
import urllib.request
def tag_visible(element):
if element.parent.name in ['style', 'script', 'head', 'title', 'meta', '[document]']:
return False
if isinstance(element, Comment):
return False
return True
addresses = ["https://en.wikipedia.org", "https://stackoverflow.com", "https://techcrunch.com"]
def text_from_html(body):
soup = BeautifulSoup(body, 'html.parser')
texts = soup.findAll(text=True)
visible_texts = filter(tag_visible, texts)
return u" ".join(t.strip() for t in visible_texts)
html = urllib.request.urlopen(addresses).read()
print(text_from_html(html))