Очистить результат с помощью BeautifulSoup - PullRequest
0 голосов
/ 21 февраля 2020

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

# -*- coding: utf-8 -*-
import requests
import sys
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'}

boardgame_url = "https://boardgamegeek.com/boardgame/285961/heaven-ale-kegs-more"
page = requests.get(boardgame_url, headers=headers)
soup = BeautifulSoup(page.content.decode('utf-8'), 'html.parser')

product_title = soup.select('h1 a')
print(product_title)

1 Ответ

0 голосов
/ 21 февраля 2020

Некоторое динамическое c содержимое не отображается при очистке с BeautifulSoup. То, что вы видите в браузере, и то, что получает ваш скребок, заметно отличается. (Вы можете экспортировать page.content и сравнить). Вам понадобится другой модуль, например selenium или request-html, который может обрабатывать динамическое c содержимое

Если вам нужны данные с веб-страницы, вы можете получить переменную java -script и извлекать данные в соответствии с вашими потребностями. Вы можете go через этот поток в переполнении стека для получения дополнительной помощи

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