首頁 後端開發 Python教學 網路爬蟲如何做才算好?

網路爬蟲如何做才算好?

Jun 20, 2017 pm 04:23 PM
如何 爬蟲 網路

網路爬蟲的實質,其實是從網路上「偷」資料。透過網路爬蟲,我們可以收集到所需的資源,但同樣,使用不當也可能引發一些比較嚴重的問題。

因此,在使用網路爬蟲時,我們需要做到「盜亦有道」。

網路爬蟲主要分為以下三類:

1. 小規模,資料量小,爬取速度不敏感;對於這類網路爬蟲我們可以使用Requests函式庫來實現,主要用於爬取網頁;

2. 中規模,資料規模較大,爬取速度敏感;對於這類網路爬蟲我們可以使用Scrapy函式庫來實現,主要用於爬取網站或系列網站;

3. 大規模,搜尋引擎,爬取速度關鍵;此時需要定制開發,主要用於爬取全網,一般是建立全網搜尋引擎,如百度、Google搜尋等。

在這三種中,我們最常見的是第一種,大多數都是小規模的爬取網頁的爬蟲。

對於網路爬蟲,也有很多反對聲音。因為網路爬蟲會不停的向伺服器發出請求,影響伺服器效能,對伺服器產生騷擾行為,並加大了網站維護者的工作量。

除了對伺服器的騷擾外,網路爬蟲也有可能引發法律風險。 因為伺服器上的資料有產權歸屬,如果將該資料用於牟利的話,將會帶來法律風險。

此外,網路爬蟲也可能造成使用者的隱私外洩。

簡而言之,網路爬蟲的風險主要歸於以下三點:

  • 對伺服器的效能騷擾

  • 內容層面的法律風險

  • 個人隱私的洩漏

因此,網路爬蟲的使用需要有一定的規則。

在實際情況中,一些較大的網站都對網路爬蟲進行了相關限制,整個網路上也將網路爬蟲視為可規範的功能來看待。

對於一般的伺服器來講,我們可以透過2種方式來限製網路爬蟲:

1. 如果網站的擁有者有一定的技術能力,可以透過來源審查來限製網路爬蟲。

來源審查,一般透過判斷User-Agent來進行限制,本篇文章著重介紹第2種。

2. 透過Robots協議來告訴網路爬蟲需要遵守的規則,哪些可以爬取,哪些是不允許的,並要求所有的爬蟲遵守該協議。

第2種是以公告的形式告知,Robots協議是建議但非約束性,網路爬蟲可以不遵守,但可能會存在法律風險。透過這兩種方法,在網路上形成了對網路爬蟲的道德和技術上的有效限制。

那麼,我們在寫網路爬蟲時,就需要去尊重網站的維護人員對網站資源的管理。

網路上,部分網站沒有Robots協議,所有資料都可以爬取;不過,絕大多數的主流網站都支援Robots協議,有做相關限制,以下就具體介紹下Robots協議的基本語法。

Robots協定(Robots Exclusion Standard,網路爬蟲排除標準):

作用:網站告知網路爬蟲哪些頁面可以爬取,哪些不行。

形式:在網站根目錄下的robots.txt檔案。

Robots協定的基本語法:*代表所有,/代表根目錄。

例如,PMCAFF的Robots協定:

User-agent: *

Disallow: /article/edit

Disallow: /discuss/write

Disallow: /discuss/edit

#第1行中User-agent:*,是指所有的網路爬蟲都需要遵守以下協議;

第2行中Disallow: /article/edit,是指所有的網路爬蟲都不允許存取article/edit下的內容,其他同理。

如果觀察京東的Robots協議,,可以看到下面有User-agent: EtaoSpider,Disallow: /,其中EtaoSpider是惡意爬蟲,不允許其爬取京東的任何資源。

User-agent: *

Disallow: /?*

Disallow: /pop /*.html

Disallow: /pinpai/*.html?*

User-agent: EtaoSpider

#Disallow: /

User-agent: HuihuiSpider

Disallow: /

#User-agent: GwdangSpider

Disallow: /

##User-agent: WochachaSpider

#Disallow: /

有了Robots協定後,可以對網站的內容做個規範,告訴所有的網路爬蟲哪些可以爬取,哪些不允許。

需要特別注意的是,Robots協定都是存在根目錄下的,不同的根目錄可能Robots協定是不一樣的,在爬取時需要多加留意。

以上是網路爬蟲如何做才算好?的詳細內容。更多資訊請關注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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 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)

WLAN擴充模組已停止[修復] WLAN擴充模組已停止[修復] Feb 19, 2024 pm 02:18 PM

如果您的Windows電腦上的WLAN擴充模組出現問題,可能會導致您與網際網路中斷連線。這種情況常常讓人感到困擾,但幸運的是,本文提供了一些簡單的建議,可以幫助您解決這個問題,讓您的無線連線重新正常運作。修復WLAN擴充模組已停止如果您的Windows電腦上的WLAN可擴充性模組已停止運作,請依照下列建議進行修復:執行網路和Internet故障排除程式停用並重新啟用無線網路連線重新啟動WLAN自動設定服務修改電源選項修改高級電源設定重新安裝網路適配器驅動程式運行一些網路命令現在,讓我們來詳細看

win11 DNS伺服器錯誤如何解決 win11 DNS伺服器錯誤如何解決 Jan 10, 2024 pm 09:02 PM

我們在連接網路時需要使用正確的dns才可以上網。同理,如果我們使用了錯誤的dns設定就會提示dns伺服器錯誤了,這時候我們可以嘗試在網路設定中選擇自動取得dns來解決,以下就一起來看下具體解決方法吧。 win11網路dns伺服器錯誤怎麼辦方法一:重新設定DNS1、首先,點選工作列中的開始進入,在其中找到並點選「設定」圖示按鈕。 2、然後點選左側欄中的「網路&Internet」選項指令。 3、然後在右側找到「乙太網路」選項,點選進入。 4、之後,點選DNS伺服器指派中的“編輯”,最後將DNS設定為“自動(D

解決Chrome,Google雲端硬碟和照片上的「失敗網路錯誤」下載! 解決Chrome,Google雲端硬碟和照片上的「失敗網路錯誤」下載! Oct 27, 2023 pm 11:13 PM

什麼是「網路錯誤下載失敗」問題?在我們深入研究解決方案之前,讓我們先了解「網路錯誤下載失敗」問題的含義。當下載過程中網路連線中斷時,通常會發生此錯誤。它可能由於各種原因而發生,例如互聯網連接薄弱、網路擁塞或伺服器問題。發生此錯誤時,下載將停止,並顯示錯誤訊息。如何修復失敗的網路錯誤下載?在存取或下載必要的文件時,遇到「網路錯誤下載失敗」可能會成為障礙。無論您是使用Chrome等瀏覽器還是Google雲端硬碟和Google相簿等平台,都會彈出此錯誤,從而造成不便。以下是幫助您導覽和解決此問題的分

已修復: WD 我的雲未顯示在 Windows 11 中的網路上 已修復: WD 我的雲未顯示在 Windows 11 中的網路上 Oct 02, 2023 pm 11:21 PM

如果WDMyCloud未在Windows11的網路上顯示,這可能是一個大問題,尤其是當您將備份或其他重要檔案儲存在其中時。對於經常需要存取網路儲存的用戶來說,這可能是一個大問題,因此在今天的指南中,我們將向您展示如何永久解決此問題。為什麼WDMyCloud未顯示在Windows11網路上?您的MyCloud裝置、網路介面卡或網路連線未正確配置。電腦上未安裝SMB功能。 Winsock的臨時故障有時會導致此問題。如果我的雲端未顯示在網路上,我該怎麼辦?在我們開始修復問題之前,您可以執行一些初步檢查:

win10無法上網右下角顯示地球怎麼辦 win10網路成地球無法上網的多種解決方法 win10無法上網右下角顯示地球怎麼辦 win10網路成地球無法上網的多種解決方法 Feb 29, 2024 am 09:52 AM

這篇文章將介紹Win10系統網路顯示地球標誌但無法上網的解決方法。文章將提供詳細的操作步驟,幫助讀者解決Win10網路顯示地球無法上網的問題。方法一:直接重啟先檢查網路線是否沒插好,寬頻是否欠費,路由器或光貓可能會卡死,這時需重新啟動路由器或光貓。假如目前電腦沒有重要的事宜在操作,能直接重啟電腦,大部分的小問題能透過重新啟動電腦來快速解決。如果確定寬頻沒有欠費,網路正常,那便是另一回事。方法二:1、按【Win】鍵,或點選左下角的【開始選單】,在開啟的選單項目中,點選電源按鈕上方的齒輪狀圖標,這個就是【設

檢查網路連線:lol無法連接伺服器 檢查網路連線:lol無法連接伺服器 Feb 19, 2024 pm 12:10 PM

LOL無法連接伺服器請檢查網路近年來,網路遊戲已經成為了許多人的日常娛樂活動。其中,英雄聯盟(LOL)作為一款非常受歡迎的多人線上遊戲,吸引了億萬玩家的參與和愛好。然而,有時候我們在玩LOL的時候會遇到「無法連接伺服器請檢查網路」的錯誤提示,這無疑給玩家們帶來了一些困擾。接下來,我們將探討該錯誤的出現原因和解決方法。首先,LOL無法連接伺服器的問題可能是

網路連不上wifi怎麼回事 網路連不上wifi怎麼回事 Apr 03, 2024 pm 12:11 PM

1.檢查wifi密碼:確保自己輸入的wifi密碼是正確的,並注意區分大小寫。 2.確認wifi是否正常運作:檢查wifi路由器是否正常運作,可將其他裝置連接至相同路由器,以確定問題是否出在裝置上。 3.重新啟動設備和路由器:有時候,設備或路由器發生故障或網路問題,重新啟動設備和路由器可能會解決問題。 4.檢查設備設定:確保設備無線功能為開啟狀態,且未將wifi功能停用。

ICLR'24無圖新想法! LaneSegNet:基於車道分段感知的地圖學習 ICLR'24無圖新想法! LaneSegNet:基於車道分段感知的地圖學習 Jan 19, 2024 am 11:12 AM

寫在前面&筆者的個人理解地圖作為自動駕駛系統下游應用的關鍵訊息,通常以車道或中心線表示。然而,現有的地圖學習文獻主要集中在偵測基於幾何的車道或感知中心線的拓樸關係。這兩種方法都忽略了車道線與中心線的內在關係,即車道線綁定中心線。雖然在一個模型中簡單地預測兩種類型的車道在學習目標中是互斥的,但本文提出將lanesegment作為一種無縫結合幾何和拓撲資訊的新表示,因此提出了LaneSegNet。這是第一個產生lanesegment以獲得道路結構完整表示的端對端建圖網。 LaneSegNet有兩個關

See all articles