我希望提取(使用 WebDriver、XPath、CSS 选择器、类或 id)Google 本地搜索结果页面中每个网站图像后面的 URL,例如 this
当我将鼠标悬停在其中任何一个上时,我可以看到单击图像将到达的 URL。然而,如果我查看完整的页面源代码并搜索任何这些 URL,却找不到它们。看一下其中一张图像的来源:
建议 URL 可能是动态读取的,尽管我对网页设计的了解就到此为止了。是否有可能为这些 URL 构建 XPath 或 CSS 选择器或者纯文本搜索?
澄清:当我说 URL 时,我指的是最终 URL。将鼠标悬停在任何网站图像上,您将看到 bodinbalanceny.com、lamchiropractic.com 等 URL,这些是我要提取的 URL。
最佳答案
您可以使用 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,代码有所不同。
关于python - 当在源中找不到 URL 时,从 Google 本地搜索中提取网站(URL)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33371349/