首頁 後端開發 Python教學 使用 Python 抓取 Google 搜尋結果

使用 Python 抓取 Google 搜尋結果

Jan 01, 2025 am 12:50 AM

使用 Python 抓取 Google 搜尋結果

Google 為企業和研究人員提供了大量數據。它每天執行超過 85 億次搜索,佔據全球搜尋引擎市場 91% 的份額。

自 ChatGPT 首次亮相以來,Google 資料不僅用於排名追蹤、競爭對手監控和潛在客戶開發等傳統目的,還用於開發高級 LLM 模型、訓練 AI 模型和增強自然語言處理能力( NLP)模型。

然而,對每個人來說,抓取 Google 並不容易。它需要專業團隊和強大的基礎設施來進行大規模抓取。

Scrape Google Search Results Using Python

在本文中,我們將學習使用 Python 和 BeautifulSoup 抓取 Google 搜尋結果。這將使您能夠建立自己的工具和模型,能夠大規模利用 Google 的資料。

讓我們開始吧!

什麼是 Google 搜尋結果?

Google 搜尋結果是根據在搜尋欄中輸入的使用者查詢顯示在 Google 上的清單。 Google 大量利用 NLP 來理解這些查詢並向使用者提供相關結果。除了自然結果之外,這些結果通常還包括特色片段,例如最新的人工智慧概述、「人們也問」部分、相關搜尋和知識圖。這些元素根據使用者的查詢向使用者提供匯總的相關資訊。

抓取 Google 搜尋資料的應用

Google 搜尋資料有多種應用:

  • 建立用於 SEO 目的的排名和關鍵字追蹤器。
  • 搜尋本地企業。
  • 建造 LLM 引擎。
  • 發現未來潛在趨勢的爆炸性話題。

為什麼要用 Python 來抓取 Google 資料?

Python 是一種多功能且強大的語言,它為抓取網站提供了強大的 HTTP 握手配置,而其他語言可能會遇到困難或成功率較低。隨著基於網路抓取資料訓練的人工智慧模型越來越受歡迎,Python 在網路抓取主題中的相關性在開發者社群中不斷上升。

此外,由於其語法簡單且程式碼清晰,希望學習 Python 作為網頁抓取技能的初學者可以輕鬆理解它。另外,它在 Discord、Reddit 等平台上擁有巨大的社群支持,可以幫助解決您面臨的任何程度的問題。

這種可擴展的語言在網頁抓取效能方面表現出色,並提供了強大的框架,如Scrapy、Requests 和BeautifulSoup,與其他語言相比,使其成為抓取Google 和其他網站的絕佳選擇。

使用 Python 抓取 Google 搜尋結果

本節將教我們建立一個基本的 Python 腳本來檢索前 10 個 Google 搜尋結果。

要求

要學習本教程,我們需要安裝以下程式庫:

  • 請求 - 從 Google 搜尋網址擷取 HTML 資料。

  • BeautifulSoup — 以結構化格式最佳化 HTML 資料。

設定

設定很簡單。建立一個 Python 檔案並安裝所需的程式庫以開始使用。

在專案資料夾中執行以下命令:

    touch scraper.py
登入後複製
登入後複製
登入後複製

然後安裝庫。

    pip install requests
    pip install beautifulsoup4
登入後複製
登入後複製

流程

我們已經完成設定並準備好繼續前進的所有東西。我們將使用 Python 中的 Requests 庫提取原始 HTML,並使用 BeautifulSoup 對其進行改進並獲取所需的資訊。

但是這裡的「所需資訊」是什麼?

Scrape Google Search Results Using Python

過濾後的資料將包含以下資訊:

  • 標題
  • 連結
  • 顯示的連結
  • 描述
  • 結果的位置

讓我們先在 scraper.py 檔案中匯入已安裝的程式庫。

    from bs4 import BeautifulSoup
    import requests
登入後複製
登入後複製

然後,我們將對目標 URL 發出 GET 請求,以從 Google 取得原始 HTML 資料。

headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.361681276786'}
    url='https://www.google.com/search?q=python+tutorials&gl=us'
    response = requests.get(url,headers=headers)
    print(response.status_code)
登入後複製

傳遞標頭對於讓抓取工具看起來像一個剛剛訪問 Google 搜尋頁面以獲取某些資訊的自然用戶非常重要。

上面的程式碼將幫助您從 Google 搜尋連結中提取 HTML 資料。如果收到 200 狀態碼,則表示請求成功。這就完成了為 Google 建立抓取工具的第一部分。

在下一部分中,我們將使用 BeautifulSoup 從 HTML 中取得所需的資料。

    soup = BeautifulSoup(response.text, ‘html.parser’)
登入後複製

這將建立一個 BS4 物件來解析 HTML 回應,因此我們將能夠輕鬆地在 HTML 中導航並找到任何選擇的元素及其內部的內容。

要解析此 HTML,我們需要先檢查 Google 搜尋頁面,以檢查在搜尋結果的 DOM 位置中可以找到哪些常見模式。

Scrape Google Search Results Using Python

因此,經過檢查我們發現每個搜尋結果都位於類別為 g 的 div 容器下。這意味著,我們只需使用 g 類別在每個 div 容器上運行一個循環即可獲取其中的資訊。

在編寫程式碼之前,我們將從 HTML 中找到標題、描述和連結的 DOM 位置。

如果您檢查標題,您會發現它包含在 h3 標籤內。從圖像中,我們也可以看到該連結位於錨標記的 href 屬性中。

Scrape Google Search Results Using Python

顯示的連結或引用連結可以在引用標籤內找到。

Scrape Google Search Results Using Python

最後,描述儲存在類別 VwiC3b 的 div 容器內。

Scrape Google Search Results Using Python

將所有這些資料實體包裝到單一程式碼區塊中:

    touch scraper.py
登入後複製
登入後複製
登入後複製

我們聲明了一個有機結果數組,然後循環遍歷 HTML 中具有 g 類的所有元素,並將收集到的資料推送到數組中。

運行此程式碼將為您提供所需的結果,您可以將其用於各種目的,包括排名追蹤、潛在客戶生成和優化網站的 SEO。

    pip install requests
    pip install beautifulsoup4
登入後複製
登入後複製

這就是建立基本 Google 抓取腳本的方式。

但是,有一個問題。我們仍然無法完全依賴這種方法,因為這可能會導致我們的 IP 被 Google 封鎖。如果我們想大規模抓取搜尋結果,我們需要一個由優質和非優質代理商組成的龐大網路以及先進的技術來實現這一目標。這就是 SERP API 發揮作用的地方!

使用 ApiForSeo 的 SERP API 抓取 Google 訊息

另一種抓取 Google 的方法是使用專用的 SERP API。它們更加可靠,不會讓您在抓取過程中受阻。

這部分的設定是相同的,只是我們需要在 ApiForSeo 上註冊以取得我們的 API 金鑰,這將使我們能夠存取其 SERP API。

從 ApiForSeo 取得 API 憑證

Scrape Google Search Results Using Python

啟動帳戶後,您將被重定向到儀表板,您將在其中取得 API 金鑰。

Scrape Google Search Results Using Python

您也可以從儀表板本身複製程式碼。

設定我們的程式碼以抓取搜尋結果

然後,我們將在隨機查詢上建立 API 請求,以透過 ApiForSeo SERP API 抓取資料。

    from bs4 import BeautifulSoup
    import requests
登入後複製
登入後複製

您也可以嘗試任何其他查詢。不要忘記將您的 API 金鑰放入程式碼中,否則您將收到 404 錯誤。

在終端機中執行此程式碼將立即給出結果。

    touch scraper.py
登入後複製
登入後複製
登入後複製

上述資料包含各種點,包括標題、連結、片段、描述和擴充附加連結等特色片段。您還可以從此 API 獲得高級功能片段,例如 People Also Ask For、知識圖譜、答案框等。

結論

商業的本質正在快速發展。如果您無法取得有關當前趨勢和競爭對手的數據,您就有可能落後於每一步都制定數據驅動策略決策的新興企業。因此,對於企業來說,了解其環境中發生的情況至關重要,而 Google 可以成為實現此目的的最佳資料來源之一。

在本教學中,我們學習如何使用 Python 抓取 Google 搜尋結果。如果您覺得本部落格有幫助,請在社群媒體和其他平台上分享。

謝謝!

以上是使用 Python 抓取 Google 搜尋結果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1430
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
Python與C:學習曲線和易用性 Python與C:學習曲線和易用性 Apr 19, 2025 am 12:20 AM

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

學習Python:2小時的每日學習是否足夠? 學習Python:2小時的每日學習是否足夠? Apr 18, 2025 am 12:22 AM

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

Python vs. C:了解關鍵差異 Python vs. C:了解關鍵差異 Apr 21, 2025 am 12:18 AM

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

Python標準庫的哪一部分是:列表或數組? Python標準庫的哪一部分是:列表或數組? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

Python:自動化,腳本和任務管理 Python:自動化,腳本和任務管理 Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

科學計算的Python:詳細的外觀 科學計算的Python:詳細的外觀 Apr 19, 2025 am 12:15 AM

Python在科學計算中的應用包括數據分析、機器學習、數值模擬和可視化。 1.Numpy提供高效的多維數組和數學函數。 2.SciPy擴展Numpy功能,提供優化和線性代數工具。 3.Pandas用於數據處理和分析。 4.Matplotlib用於生成各種圖表和可視化結果。

Web開發的Python:關鍵應用程序 Web開發的Python:關鍵應用程序 Apr 18, 2025 am 12:20 AM

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

See all articles