BeautifulSoup Python веб-скребок отсутствует html основной корпус - PullRequest
1 голос
/ 28 марта 2020

Я использую суп Beutifull для очистки этой веб-страницы: https://greyhoundbet.racingpost.com//#results -dog / race_id = 1765914 & dog_id = 527442 & r_date = 2020-03-19 & track_id = 61 & r_time = 11: 03

Результат : я получаю javaScript, Css

Желаемый вывод: мне нужен основной html

Я использовал этот код

import requests
from bs4 import BeautifulSoup 

url = 'https://greyhoundbet.racingpost.com//#results-dog/race_id=1765914&dog_id=527442&r_date=2020-03-19&track_id=61&r_time=11:03'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}

page = requests.get(url,headers=headers)url = 'https://greyhoundbet.racingpost.com//#results-dog/race_id=1765914&dog_id=527442&r_date=2020-03-19&track_id=61&r_time=11:03'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}

page = requests.get(url,headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Боюсь, вы не сможете получить его напрямую с помощью BeautifulSoup, потому что страница загружает, а затем javascript загружает данные.

Это одно из ограничений компонента, вам может потребоваться использовать селен .

пожалуйста, проверьте ответы на этот вопрос

0 голосов
/ 28 марта 2020

Я думаю, что вы ищете это:

page = requests.get(url)

soup = BeautifulSoup(page.text, 'html.parser')

Он будет содержать текст со страницы, включая html теги

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