Можно найти данные, которые уже есть в парсере Beautifulsoup - PullRequest
0 голосов
/ 22 октября 2019

Я собираю информацию о продукте с сайта Newegg. Я попытался вычистить цену с правой боковой панели. Внутри супа в формате lxml он существует (см. Изображение 1), но когда я попытался получить эту боковую панель с помощью метода поиска из супа, он не отображает все данные (см. Изображение2).

Я не вижу причин для этого, пожалуйста, кто-то объяснит мне.

** Изображение и код ниже

Изображение 1 Image2

headers = {"User-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"}
url = link
data = re.get(url,headers=headers)
soup = bs4.BeautifulSoup(data.content, 'lxml')

title = soup.find("div", {"class":"wrapper"}).text
price = soup.find("div", {"id":"continueReal"})

1 Ответ

0 голосов
/ 25 октября 2019

Вы можете извлечь из атрибута itemprop значение value

import requests

r = requests.get('https://www.newegg.com/black-msi-gl-series-gl73-9rcx-030-gaming-entertainment/p/N82E16834155245?Item=N82E16834155245&Tpk=N82E16834155245')
soup = bs(r.content, 'lxml')
print(soup.select_one('[itemprop=price]')['content'])
print(soup.select_one('#grpDescrip_34-155-245').text.strip())

Или попробуйте использовать те же страницы запроса xhr, которые вы можете найти на вкладке сети.

...