簡體   English   中英

無法使用BeautifulSoup在Google搜索結果頁面上檢索鏈接

[英]Unable to retrieve links off google search results page using 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"))

我嘗試將用戶代理更改為一個非常古老的代理,以期google可以恢復為html,但這樣做並不算幸運。

我知道可以用Google搜索API檢索鏈接,但是我很好奇是否可以通過bs4來完成這項工作。

您可以使用google包,該包可以直觀地訪問google的搜索結果。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM