Web Скребет 48 000 страниц в течение полутора дней и все еще работает. Это нормально? - PullRequest
0 голосов
/ 15 марта 2020

Я собрал 48 000 страниц URL и поместил их в список. Моя цель - извлечь 8 фрагментов данных с помощью BeautifulSoup и добавить каждую точку данных в пустой список из этого списка URL.

Прежде, чем я запустил для l oop ниже, я проверил извлечение на 3 URL из списка, и оно прекрасно работало.

Я знаю, код работает, но я сомневаюсь в количестве время, необходимое для завершения веб-очистки 48 000 страниц URL, поскольку мой код работает уже полтора дня. Это заставляет меня подвергать сомнению мой код или что я создал код неэффективно.

Может кто-нибудь просмотреть мой код и предложить какие-либо предложения или идеи относительно того, как заставить код работать быстрее?

Заранее спасибо!

title_list = []
price_list = []
descrip_list = []
grape_variety_list = []
region_list = []
region_list2 = []
wine_state_list = []
wine_country_list = []

with requests.Session() as session:
    for link in grape_review_links_list:
        response2 = session.get(link, headers=headers)
        wine_html = response2.text
        soup2 = BeautifulSoup(wine_html, 'html.parser')

        wine_title = soup2.find('span', class_='rating').findNext('h1').text
        title_list.append(wine_title)

        wine_price = soup2.find(text='Buy Now').findPrevious('span').text.split(',')[0]
        price_list.append(wine_price)

        wine_descrip = soup2.find('p', class_='description').find(text=True, recursive=False)
        descrip_list.append(wine_descrip)

        wine_grape = soup2.find(text='Buy Now').findNext('a').text
        grape_variety_list.append(wine_grape)

        wine_region = soup2.find(text='Appellation').findNext('a').text
        region_list.append(wine_region)

        wine_region2 = soup2.find(text='Appellation').findNext('a').findNext('a').text
        region_list2.append(wine_region2)

        wine_state = soup2.find(text='Appellation').findNext('a').findNext('a').findNext('a').text
        wine_state_list.append(wine_state)

        wine_country = soup2.find(text='Appellation').findNext('a').findNext('a').findNext('a').findNext('a').text
        wine_country_list.append(wine_country)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...