Проблема с Beautifulsoup в Интернете: не удается найти таблицы на веб-странице - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу получить таблицы с этого веб-сайта с этим кодом:

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.flashscore.pl/pilka-nozna/'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
containers = page_soup.find_all('table', {'class': 'soccer'})

print(len(containers))

Но когда я пытаюсь проверить, сколько таблиц я получаю по print(len(containers)), я получаю 0.Любые решения?

редактировать: image of contained tables

1 Ответ

0 голосов
/ 18 декабря 2018

возможно, страница динамическая.вы можете использовать reports-html , который позволит вам визуализировать страницу перед извлечением HTML, или вы можете использовать Selenium , как я это сделал здесь.

Это привело к 42 элементам таблицы class = "soccer"

import bs4 
from selenium import webdriver 

url = 'https://www.flashscore.pl/pilka-nozna/'

browser = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')
browser.get(url)

html = browser.page_source
soup = bs4.BeautifulSoup(html,'html.parser')  

containers = soup.find_all('table', {'class': 'soccer'})

browser.close()


In  [11]: print(len(containers))
42
...