Python 隐藏行web抓取html表时出现问题

Python 隐藏行web抓取html表时出现问题,python,html,web-scraping,Python,Html,Web Scraping,我对网页抓取比较陌生,我真的不明白为什么这不起作用,我认为这与我想要抓取的表中的隐藏行有关 我试图通过for循环将一个相当简单的表提取到pandas数据帧中。然而,当我尝试使用find_all('tr')来提取行时,最终得到的是一个完全空的集合 这是我的密码: url = 'https://pjammcycling.com/home;mode=search;sort=worldRank;view=table;asc=true;f1=France;dsply=100' html = reques

我对网页抓取比较陌生,我真的不明白为什么这不起作用,我认为这与我想要抓取的表中的隐藏行有关

我试图通过for循环将一个相当简单的表提取到pandas数据帧中。然而,当我尝试使用find_all('tr')来提取行时,最终得到的是一个完全空的集合

这是我的密码:

url = 'https://pjammcycling.com/home;mode=search;sort=worldRank;view=table;asc=true;f1=France;dsply=100'

html = requests.get(url)
soup = BeautifulSoup(html.text, 'lxml')
table_body = soup.find('tbody')
rows = table_body.find_all('tr')
当我打印(行)时,我只得到:

[]
我要使用的for循环是:

labels = []
data = []

for row in rows:
    labels.append(str(row.find_all('td')[0].text))
    data.append(str(row.find_all('td')[1].text))

cols = {'Field': labels, 'Data': data}
df = pd.DataFrame(cols)
任何帮助都将不胜感激,因为我整个上午都在使劲把头撞在墙上,试图让它发挥作用:( 我的谷歌搜索没有一个能帮我解决这个问题


提前感谢!

检索时,您的tbody是空的。在浏览器中,它由javascript填充。以下是原始html的摘录:

<tbody _ngcontent-sc18=""><!----></tbody>


对于BeautifulSoup来说,这是没有用的。也许你可以试试:

看起来这个表是用Javascript动态填充的。我不认为Beautiful Soup支持这一点,这是一个更好的选择。