Не удается найти данные на странице - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь получить название и ссылку каждого так называемого розыгрыша в списке на этом сайте. Однако, когда я пытаюсь очистить эти данные, кажется, что они не могут быть найдены.

Я попытался очистить все ссылки на странице, но я думаю, что эти "ящики" могут быть загружены через JavaScript.

Результаты, которые я получаю, представляют собой несколько ссылок, не связанных с тем, что я хочу получить. В этом списке должно быть более 40 ссылок, но большинство из них не отображаются. Любая помощь была бы отличной, застрял на этом некоторое время

По какой-то причине эта ссылка и многие другие не отображаются, когда я переписываюсь:

image

мой код:

def raffle_page_collection():
    chrome_driver()
    page = requests.get('https://www.soleretriever.com/yeezy-boost-350-v2-black/')
    soup = BeautifulSoup(page.text,'html.parser')
    product_header = soup.find('h1').text
    product_colorway = soup.find('h2').text
    product_sku_and_release_date_and_price = soup.find('h3').text

    container = soup.find(class_='main-container')
    raffles = container.find_all('a')

    raffle_list = []

    for items in raffles:
        raffle_list.append(items.get('href'))

    print(raffle_list)

1 Ответ

0 голосов
/ 01 июня 2019

стоит попробовать автоматизацию библиотеки селена. это позволяет вам удалить данные страницы запроса динамического рендеринга (js или ajax).

Попробуйте это:

from selenium import webdriver
from bs4 import BeautifulSoup
import time

browser = webdriver.Chrome()
browser.get('https://www.soleretriever.com/yeezy-boost-350-v2-black/')
time.sleep(3)

soup = BeautifulSoup(browser.page_source,'html.parser')

product_header = soup.find('h1').text
product_colorway = soup.find('h2').text
product_sku_and_release_date_and_price = soup.find('h3').text

container = soup.find(class_='main-container')
raffles = container.find("div",{"class":"vc_pageable-slide-wrapper vc_clearfix"})

raffle_list = []

for items in raffles.find_all("a",href=True):
    raffle_list.append(items.get('href'))

print(product_header)
print(product_colorway)
print(product_sku_and_release_date_and_price)
print(raffle_list)

O / P:

Yeezy Boost 350 v2 Black
Black/ Black/ Black
FU9006 | 07/06/19 | $220
['https://www.43einhalb.com/en/adidas-yeezy-boost-350-v2-black-328672#SR', 'https://www.adidas.co.uk/yeezy#SR', 'https://www.allikestore.com/default/adidas-yeezy-boost-350-v2-static-black-black-fu9006-105308.html#SR', 'https://archive1820.com/en/forms/6/yeezy-raffle#SR', 'https://drops.blackboxstore.com/blackbox_launches_view/catalog/product/view/id/22296/s/yeezy-boost-350-v2#SR', 'https://woobox.com/4szm9v#SR', 'https://launches.endclothing.com/product/yeezy-boost-350-v2-fu9006#SR', 'https://www.instagram.com/p/ByEIHSHDSY6/', 'https://www.instagram.com/p/ByFG1G0lWf7/', 'https://releases.footshop.com/adidas-yeezy-boost-350-v2-agqn6WoBJZ9y4RSnzw9G#SR', 'https://launches.goodhoodstore.com/launches/yeezy-boost-350-v2-black-33#SR', 'https://www.hervia.com/launches/yeezy-350#SR', 'https://www.hibbett.com/adidas-yeezy-350-v2-black-mens-shoe/M0991.html#SR', 'https://reporting.jdsports.co.uk/cgi-bin/msite?yeezy_comp+a+0+0+0+0+0&utm_source=RedEye&utm_medium=Email&utm_campaign=Yeezy%20Boost%20351%20Clay&utm_content=0905%20Yeezy%20Clay#SR', 'https://www.instagram.com/p/ByDnK6uH6kE/', 'https://www.nakedcph.com/yeezy-boost-v2-350-static-black-raffle/s/635#SR', 'https://www.instagram.com/p/ByIXT8zHvYz/', 'https://launches.sevenstore.com/launch/yeezy-boost-350-v2-black-4033024#SR', 'https://shelta.eu/news/adidas-yeezy-boost-350-v2-black-fu9006x#SR', 'https://www.instagram.com/p/ByDI_6JAfty/', 'https://www.sneakersnstuff.com/en/product/38889/adidas-yeezy-350-v2#SR', 'https://www.instagram.com/p/ByHtt3HFkE0/', 'https://www.instagram.com/p/ByCaKR7Cde1/', 'https://tres-bien.com/adidas-yeezy-boost-350-v2-black-fu9006-fw19#SR', 'https://yeezysupply.com/products/yeezy-boost-350-v2-black-june-7-2019#SR']

для браузера Chrome:

http://chromedriver.chromium.org/downloads

Установить веб-драйвер для браузера Chrome:

https://christopher.su/2015/selenium-chromedriver-ubuntu/

учебник по селену

https://selenium -python.readthedocs.io /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...