Python 隐藏行web抓取html表时出现问题
我对网页抓取比较陌生,我真的不明白为什么这不起作用,我认为这与我想要抓取的表中的隐藏行有关 我试图通过for循环将一个相当简单的表提取到pandas数据帧中。然而,当我尝试使用find_all('tr')来提取行时,最终得到的是一个完全空的集合 这是我的密码: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
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支持这一点,这是一个更好的选择。