【发布时间】:2019-10-24 18:37:35
【问题描述】:
我在网络抓取表格时难以提取文本,我认为应该归咎于页面上的过滤器。我尝试隔离所有“tr”和“th”元素,但似乎无法将底层文本导入 Python。我做错了什么?
我的代码:
from bs4 import BeautifulSoup
import requests
page_link ='https://www.ersteliga.hu/stats#/players/1945/regular/points'
page = requests.get(page_link)
html = page.content
soup = BeautifulSoup(html, 'html.parser')
my_table = soup.find_all('table', class_= "IHD-TABLE")
columns = my_table.find('th')
我希望输出包含在线看到的文本值,但我似乎得到的输出看起来与网页上的 HTML 不同。
【问题讨论】:
-
该表是使用 Angular 动态生成的。您需要使用可以解析 Javascript 的东西来获取这些值,例如 Selenium。
-
您的表格是异步填充的,当您下载页面时表格是空的。检查 js ajax 调用。
标签: python python-3.x web-scraping python-requests