【发布时间】:2017-12-12 19:51:48
【问题描述】:
我想使用 BeautifulSoup 搜索 google 并打开第一个链接。但是当我打开链接时,它显示错误。我认为的原因是因为谷歌没有提供网站的确切链接,它在 url 中添加了几个参数。如何获得准确的网址?
当我尝试使用 cite 标签时,它可以工作,但对于大 URL,它的创建问题。
我使用 soup.h3.a['href'][7:] 获得的第一个链接是: 'http://www.wikipedia.com/wiki/White_holes&sa=U&ved=0ahUKEwi_oYLLm_rUAhWJNI8KHa5SClsQFggbMAI&usg=AFQjCNGN-vlBvbJ9OPrnq40d0_b8M0KFJQ'
这是我的代码:
import requests
from bs4 import Beautifulsoup
r = requests.get('https://www.google.com/search?q=site:wikipedia.com+Black+hole&gbv=1&sei=YwHNVpHLOYiWmQHk3K24Cw')
soup = BeautifulSoup(r.text, "html.parser")
print(soup.h3.a['href'][7:])
【问题讨论】:
-
可能有更好的解决方案,但如果问题是 Google 附加的参数总是以“&”开头,并且链接之前从来没有“&”,您可以尝试对其进行切片:@987654323 @
标签: python beautifulsoup