【发布时间】:2018-02-02 22:07:37
【问题描述】:
我正在尝试使用 Requests 和 Beautiful Soup 网络抓取库从 Google 抓取网址。
for URL in soup.find_all('cite'):
print(URL.text)
我之前试图通过搜索链接然后获取链接的 href 来获取 URL,但是这种方法的问题似乎是这些 URL 被 Google 缓存了,并且在尝试访问 URL 时链接经常坏。
我注意到 Google 使用 cite 标签来保存 URL。虽然这适用于绝大多数 URL,但有时页面上的其他文本位也在 cite 标签内。
大多数标签都有 class= "_Rm" 或 class= "Rm bc"。我如何告诉 Beautiful Soup 搜索带有子字符串“Rm”类的标签?
我知道可能有更好的方法来完成这一切。有谁知道我可以如何做到这一点/另一种返回网站实际 URL 的方法?
这是我之前用来获取 URL 的代码
for URL in soup.find_all("a",href=re.compile("(?<=/url\?q=)(htt.*://.*)")):
print ("\n" + URL.text + "\n")
print re.split(":(?=http)",URL["href"].replace("/url?q=",""))'''
【问题讨论】:
-
我想它是通过JS加载的,所以beautifulsoup找不到它。
-
使用selenium 而不是
requests。 -
啊,是的,我想我将不得不使用 selenium 来抓取动态生成的内容。感谢您的回复
标签: python beautifulsoup python-requests bs4