无法使用BeautifulSoup从Google搜索结果页面检索链接

时间:2017-02-18 09:35:14

标签: python beautifulsoup

我尝试使用bs4抓取显示在结果页面上的所有相关链接,然后在新窗口中打开它们。

问题是,我没有得到相关链接。对于任何给定的查询,我的脚本会返回指向gmail,google图像等内容的链接 - 而不是与查询相关的链接。

#!/usr/bin/python3
import webbrowser as wb
import requests 
import bs4 as bs



search=input()
url="https://www.google.ae/?gfe_rd=cr&ei=mgSoWKmWO-aG7gTgmJ2QDA&gws_rd=ssl#q="+search
#print(url)
user_agent = {'User-Agent': 'Mozilla/5.0'}

#headers['User-Agent'] = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17'

req=requests.get(url,headers=user_agent)
soup=bs.BeautifulSoup(req.text,"lxml")
print(req.status_code)
count=0
for link in soup.find_all("a"):
    print(link.get("href"))
    if search in link.text:
        wb.open(link.get("href"))

我尝试将我的用户代理更改为一个非常旧的用户代理,希望谷歌可能会恢复为html,但没有这样的运气。

我知道可以通过谷歌搜索API检索链接,但我很想知道是否有任何方式可以用bs4完成工作。

1 个答案:

答案 0 :(得分:1)

您可以使用google软件包直接访问Google的搜索结果。

from google import search
for result in search('example'):
    print(result)