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)

谷歌和大多數(shù)網(wǎng)站一樣,并不太喜歡自動化程序獲取搜索結(jié)果頁面。

一個解決方案是通過設置正常的標題來掩蓋我們是自動化程序的事實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解析數(shù)據(jù)

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

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

# 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")

當我檢查頁面時,我發(fā)現(xià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 很快就會發(fā)現(xiàn)這是一個機器人并做出 IP攔截

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

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

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

網(wǎng)頁抓取API常見問題有哪些?

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

網(wǎng)頁抓取API使用場景有哪些?

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

如何尋找替換API?網(wǎng)頁抓取API

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

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

上一篇:

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

下一篇:

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

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

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

#AI深度推理大模型API

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

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