使用 selenium bs4 和 python 从网站中提取链接

Extracting links from website with selenium bs4 and python

好的。

标题似乎已经有人问过这个问题,但我没能找到答案。

我需要帮助制作 link 使用 python 提取程序。

实际上它有效。它会在网页上找到所有 <a> 元素。获取他们的 href="" 并将其放入一个数组中。然后将其导出到 csv 文件中。这就是我想要的。

可是有一样东西我拿不准

网站是动态的,所以我使用 Selenium webdriver 来获得 JavaScript 结果。

该程序的代码非常简单。我用 webdriver 打开一个网站,然后获取它的内容。然后我得到所有 links

results = driver.find_elements_by_tag_name('a')

然后我用 for 循环遍历结果并用

得到 href
result.get_attribute("href")

我将结果存储在一个数组中,然后打印出来。

但问题是我无法获取 link 的名称。

<a href="https://www.google.com">This leads to Google</a>

有没有办法得到'This leads to Google'字符串。

存储在数组中的每个 link 都需要它。

感谢您的宝贵时间

更新!!!!!

因为它似乎只获得动态 links。我只注意到这一点。现在这真的很奇怪。对于硬编码项目,它 returns 一个空字符串。对于动态link,它returns它的名字。

好的。所以。答案是您应该使用 get_attribute("textContent") 而不是使用 .text。效果优于 get_attribute("innerHTML")

感谢 KunduK 的回答。你救了我的命:)