python - 当在源中找不到 URL 时,从 Google 本地搜索中提取网站(URL)吗?

标签 python html xpath selenium-webdriver webdriver

我希望提取(使用 WebDriver、XPath、CSS 选择器、类或 id)Google 本地搜索结果页面中每个网站图像后面的 URL,例如 this

enter image description here

当我将鼠标悬停在其中任何一个上时,我可以看到单击图像将到达的 URL。然而,如果我查看完整的页面源代码并搜索任何这些 URL,却找不到它们。看一下其中一张图像的来源:

enter image description here

建议 URL 可能是动态读取的,尽管我对网页设计的了解就到此为止了。是否有可能为这些 URL 构建 XPath 或 CSS 选择器或者纯文本搜索?

澄清:当我说 URL 时,我指的是最终 URL。将鼠标悬停在任何网站图像上,您将看到 bodinbalanceny.comlamchiropractic.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/

相关文章:

python - python 类的 Lambda 函数?

python - 我想将多个段落提取到一个 csv 文件中,但我希望它们在不同的列中而不是在一个大列中

java - 使用 XPath 从 XML 中获取 Java 中的属性值

html - 图片悬停的奇怪问题

jquery - 我想要一个大小为 40mm X 40mm 的 div 在任何屏幕上并且独立于缩放?

python - Scrapy:获取两个标识符之间的文本

python - 用Python绘制有向图

python - 为什么这个字符串总是最大可能的数字

python - 确定 (*,G) 是否形成群论中的结合群

javascript - 如何使用 jQuery .find() 从嵌入对象中检索值