从代码中获取所有href

时间:2011-12-20 08:23:00

标签: python selenium web-crawler beautifulsoup lxml

我正在制作网络抓取工具。为了找到页面中的链接,我在selenium中使用了xpath

driver = webdriver.Firefox()
driver.get(side)
Listlinker = driver.find_elements_by_xpath("//a")

这很好用。然而,测试爬虫,我发现并非所有链接都在a标签下。 href有时也用在area或div标签中。

现在我坚持

driver = webdriver.Firefox()
driver.get(side)
Listlinkera = driver.find_elements_by_xpath("//a")
Listlinkerdiv = driver.find_elements_by_xpath("//div")
Listlinkerarea = driver.find_elements_by_xpath("//area")

真正将抓取放入网络抓取工具中。

我尝试过xpath "//@href",但这不起作用。我也尝试了几种方法来获得所有href url的有效方式,使用美丽的汤和lxml,但到目前为止,无济于事。对不起,我没有任何代码可以用美丽的汤和lxml显示我的努力,但由于这些被证明无用,我删除它们,这不是最聪明的做法,我知道。我现在已经开始保存这些不成功的尝试,为了我自己,如果我想再试一次,并想知道第一次出了什么问题

我能得到的任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:6)

试试这个:

ListlinkerHref = driver.find_elements_by_xpath("//*[@href]")