BeautifulSoup и urllib для поиска данных с сайта - PullRequest
0 голосов
/ 18 января 2019

Фон

Я пытаюсь понять процесс извлечения конкретных данных с веб-сайта с использованием библиотек beautifulsoup4 и urllib.

Как узнать конкретную цену DVD с веб-сайта, если:

  • Класс div <div class="productPrice" data-component="productPrice">
  • Класс p <p class="productPrice_price" data-product-price="price">£9.99 </p>

Код до сих пор:

from bs4 import BeautifulSoup
from urllib.request import urlopen
html = urlopen("https://www.zavvi.com/dvd/rampage-includes-digital-download/11729469.html ")
bsObj = BeautifulSoup(html.read(), features='html.parser')

all_divs = bsObj.find_all('div', {'class':'productPrice'}) # 1. get all divs 

Каков процесс определения цены?

Веб-сайт (https://www.zavvi.com/dvd/rampage-includes-digital-download/11729469.html)

1 Ответ

0 голосов
/ 18 января 2019

Ты почти у цели, еще один шаг. Вам просто нужно пройтись по элементам и найти тег <p> с class = "productPrice_price" и захватить текст:

from bs4 import BeautifulSoup
from urllib.request import urlopen
html = urlopen("https://www.zavvi.com/dvd/rampage-includes-digital-download/11729469.html ")
bsObj = BeautifulSoup(html.read(), features='html.parser')

all_divs = bsObj.find_all('div', {'class':'productPrice'}) # 1. get all divs 

for ele in all_divs:
    price = ele.find('p', {'class':'productPrice_price'}).text
    print (price)

Выход:

£9.99
...