BeautifulSoup - не могу получить содержание страницы - PullRequest
0 голосов
/ 27 июня 2018

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

    preSoup = requests.get('https://www.betbrain.com/football/world/')
    print(currUrl)
    soup = BeautifulSoup(preSoup.content,"lxml")
    print(soup)

содержимое, которое я получаю, похоже на сценарий и / или API-интерфейс, к которому они подключены, но не реальное содержимое веб-страницы, которую я вижу в браузере. Я не могу добраться до игр, например. Кто-нибудь знает способ обойти это? Спасибо

1 Ответ

0 голосов
/ 27 июня 2018

Хорошо, запросы получают только HTML и не загружают JS Вы должны использовать веб-драйвер для этого Вы можете использовать Chrome, Firefox и т. д. Я использую PhantomJS, потому что в фоновом режиме работает его «безголовый» браузер. Ниже вы найдете пример кода, который поможет вам понять, как его использовать

from bs4 import BeautifulSoup
import time
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("https://www.betbrain.com/football/world/")
time.sleep(5)# you can give it some time to load the js 
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
for i in  soup.findAll("span", {"class": "Participant1"}):
    print (i.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...