在源代码中找不到网址时,从Google本地搜索中提取网站(URL)?

时间:2015-10-27 14:58:42

标签: python html xpath selenium-webdriver webdriver

我希望在Google本地搜索结果页面(例如{)中提取(使用WebDriver,通过XPath,CSS Selector,类或ID)生成每个网站图像背后的网址。 {3}}

this

当我鼠标悬停其中任何一个时,我可以看到单击图像时将到达的URL。然而,如果我查看整个页面源并搜索任何这些URL,则无法找到它们。看看其中一张图片的来源:

enter image description here

建议URL可能是动态读取的,尽管这是我对网页设计的了解所在。甚至可以构造XPath或CSS选择器,或者甚至是纯文本搜索这些URL吗?

澄清:当我说URL时,我指的是最终的网址。将鼠标悬停在任何网站图片上,您会看到 bodinbalanceny.com lamchiropractic.com 等网址 - 这些是我想要提取的网址。< / p>

1 个答案:

答案 0 :(得分:1)

您可以使用urlparse。获取href属性后,请向其添加“https://www.google.com”,然后尝试以下代码。

>>> import urlparse
>>> url = """https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CBAQgU8wAGoVChMI6c6MhpvjyAIVQyeUCh0EIAAi&url=http%3A%2F%2Fwww.taihealthsolutions.com%2F&usg=AFQjCNHHoVNRX0zdXZ1Cu4P2xIUEffCZTA&bvm=bv.105841590,d.dGo"""
>>> parsed = urlparse.urlparse(url)
>>> print urlparse.parse_qs(parsed.query)['url'][0]
http://www.taihealthsolutions.com/

注意:这适用于Python 2.x.对于Python 3,代码是不同的。