如何在不单击展开按钮的情况下刮取页面的源代码?

2024-04-19 07:24:33 发布

您现在位置:Python中文网/ 问答频道 /正文

这个网站有一个“显示更多”按钮。从表中加载更多数据。但这些数据似乎是在开始时加载的,因为我可以单击它并在脱机模式下展开表。你知道吗

在Selenium中有没有一种不用多次点击这个按钮就可以一次完成整个源代码的方法?因为整个表似乎是在第一次加载页面时加载的。你知道吗

你知道吗driver.get\u源在这种情况下不显示全部内容,只显示打开浏览器时可以看到的内容。你知道吗

使用Python,Selenium和googlechrome。你知道吗


Tags: 数据方法内容get源代码网站driverselenium
1条回答
网友
1楼 · 发布于 2024-04-19 07:24:33

如果确实所有的数据都是在开始时加载的,那么可以通过查看DOM(在标记处,或者可能是包含数据的任何其他标记处)找到它。简单的方法是打开控制台(F12)并使用浏览器提供的inspect element工具

现在回答您的问题,我将使用BeautifulSoup在找到的位置(tag)刮取数据

例如,您的表驻留在一个div中(具有随机属性,例如一个名为“randomclass”的类)。table标记是'ul',每个条目都存储在'li'中,特别是存储在'li'中。text()

要选择div:

selected_div = soup.find('div', attrs={'class': 'randomclass'})

要选择div中的表:

table = selected_div.find('ul')

要遍历表行并管理数据,请执行以下操作:

for li in table.find_all('li'):
        mylist.append(li.text())

相关问题 更多 >