import urllib.request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

# Urlencode the URL
url = urllib.parse.quote_plus("https://www.google.com/search?q=用冪簡集成搜索API")

# Create the query URL.
query = "https://api.scraperbox.com/scrape"
query += "?api_key=%s" % "YOUR_API_KEY"
query += "&url=%s" % url

# Call the API.
request = urllib.request.Request(query)
raw_response = urllib.request.urlopen(request).read()
html = raw_response.decode("utf-8")

print(html)

谷歌和大多數網站一樣,并不太喜歡自動化程序獲取搜索結果頁面。

一個解決方案是通過設置正常的標題來掩蓋我們是自動化程序的事實User-Agent

...
request = urllib.request.Request(query)
# Set a normal User Agent header
request.add_header('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')
raw_response = urllib.request.urlopen(request).read()

# Read the repsonse as a utf-8 string
html = raw_response.decode("utf-8")

print(html)request = urllib.request.Request(query)

用戶BeautifulSoup解析數據

想要從頁面中提取實際的搜索結果。先要弄清楚如何訪問搜索結果,啟動了 Chrome 并檢查了 Google 搜索結果頁面:

我們可以使用這些信息通過 BeautifulSoup 提取搜索結果。

# Construct the soup object
soup = BeautifulSoup(html, 'html.parser')

# Find all the search result divs
divs = soup.select("#search div.g")
for div in divs:
# For now just print the text contents.
print(div.get_text() + "\n\n")

當我檢查頁面時,我發現搜索標題包含在h3標簽中。我們可以利用這些信息來提取標題。

# Find all the search result divs
divs = soup.select("#search div.g")
for div in divs:
# Search for a h3 tag
results = div.select("h3")

# Check if we have found a result
if (len(results) >= 1):

# Print the title
h3 = results[0]
print(h3.get_text())</code></pre>

按此方式解析其它要素。

其它兩個步驟比較簡單,不再講解。

抓取大量頁面時,被攔截怎么辦?

Google 很快就會發現這是一個機器人并做出 IP攔截

方案一:以非常稀疏的方式進行抓取,并在每次請求之間等待 10 秒。但是,如果您需要抓取大量搜索查詢,那么這不是最佳解決方案。

方案二:另一個解決方案是購買 IP代理服務器。這樣你就可以從不同的 IP 地址抓取數據。但這里又有一個問題。很多人想抓取 Google 搜索結果,因此大多數代理已被 Google 屏蔽。

方案三:再一種方法是購買住宅IP代理,這些 IP 地址與真實用戶無法區分。

網頁抓取API常見問題有哪些?

  1. 技術問題
  2. 性能問題
  3. 數據問題
  4. 法律和道德問題
  5. API限制
  6. 解決方案和工具
  7. 錯誤處理
  8. 接口設計
  9. 文檔和支持
  10. CAPTCHA問題

網頁抓取API使用場景有哪些?

  1. 市場調研:一家市場調研公司需要收集特定行業的市場數據,以便分析市場趨勢和競爭對手情況。通過使用網頁抓取API,該公司能夠從多個行業相關的新聞網站、論壇和博客中抓取數據。這些數據包括行業新聞、產品發布信息、用戶評論和競爭對手的公開報告。通過分析這些數據,公司能夠為客戶提供深入的市場洞察和競爭策略建議。
  2. 品牌保護:一個國際知名的時尚品牌需要監控其品牌在互聯網上的表現,以防止假貨銷售和品牌濫用。通過網頁抓取API,該公司能夠監控電子商務網站、社交媒體平臺和論壇,實時檢測和響應任何未經授權的使用其品牌名稱、商標或產品圖片的行為。這有助于保護品牌聲譽并維護消費者信任。
  3. 價格監控:一家電子產品零售商需要跟蹤多個競爭對手的定價策略,以便調整自己的價格以保持競爭力。通過網頁抓取API,零售商能夠自動收集競爭對手網站上的產品價格信息,并分析價格趨勢。這使得零售商能夠快速做出反應,確保其價格始終具有競爭力。
  4. SEO監控:一家提供搜索引擎優化服務的公司需要監控客戶的網站在搜索引擎結果頁面(SERP)上的表現。通過網頁抓取API,該公司能夠收集客戶的網站排名數據,分析關鍵詞表現,并監控搜索結果的變化。這有助于公司調整SEO策略,以提高客戶的在線可見性。
  5. 客戶評價監控:一家酒店連鎖企業需要跟蹤客戶對其服務的評價,以便及時響應客戶的反饋并改進服務。通過網頁抓取API,酒店能夠從各大旅游網站、社交媒體和評論平臺抓取客戶的評價信息。通過分析這些數據,酒店能夠了解客戶的需求和不滿點,從而提升客戶滿意度。
  6. 社交媒體監聽:一家公關公司需要監控其客戶的品牌形象和公眾情緒。通過網頁抓取API,該公司能夠從社交媒體平臺抓取提及客戶品牌的帖子和評論。通過分析這些數據,公關公司能夠識別潛在的危機,評估客戶品牌形象,并制定策略來引導公眾輿論。
  7. 新聞聚合:一家新聞網站需要從多個來源聚合新聞內容,以提供給用戶全面的新聞覆蓋。通過網頁抓取API,該網站能夠自動收集和整合來自不同新聞機構的新聞文章。這使得網站能夠快速更新內容,提供最新的新聞報道。
  8. 房地產信息抓取:房地產經紀人需要了解市場上的房產列表和價格變動。通過網頁抓取API,他們可以從房地產網站如Zillow抓取房產列表、價格、位置和其他相關信息。這些數據有助于經紀人為客戶提供最新的市場信息,并做出明智的投資決策。
  9. 前端項目開發:前端開發者在沒有后端支持的情況下,需要獲取動態數據來開發和測試前端項目。通過網頁抓取API,開發者可以從各種公開API中獲取所需的數據,如天氣信息、新聞頭條或社交媒體動態,從而在沒有后端的情況下也能構建動態的前端應用。

如何尋找替換API?網頁抓取API

用冪簡集成搜索API最方便!冪簡集成專注于為開發者提供全面、高效、易用的API平臺解決方案。冪簡API平臺提供了多種維度發現API的功能:通過關鍵詞搜索API、從API Hub分類瀏覽API、從開放平臺分類瀏覽企業間接尋找API等。

此外,冪簡集成開發者社區會編寫API入門指南、多語言API對接指南、API測評等維度的文章,讓開發者選擇符合自己需求的API。

上一篇:

給初學者的Dezgo公司AI繪畫API接口使用入門指南

下一篇:

AI+搜索:在Elastic的推理API中嵌入大語言模型Cohere API
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費