Циклы, сканирующие большое количество страниц, не проходят через go - PullRequest
0 голосов
/ 27 мая 2020
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

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)

with open('crawlingweb.csv')as f:  #url list
    content=f.readlines()
    content=[x.strip() for x in content]

for i in range(1000):
    html = urllib.request.urlopen(content[i]).read()
    print(text_from_html(html))

Я хочу просканировать большое количество веб-страниц одновременно, поместив URL-адреса в список.

Код заканчивается urllib.error.HTTPError: Ошибка HTTP 500: 500 с фразой об ошибке

Интересно, лучше ли связать db, чем получать URL-адрес из файла csv

Мне нужен более сложный, точный и безопасный способ Спасибо за чтение.

...