Python爬蟲即使用Python程式開發的網路爬蟲(網頁蜘蛛,網路機器人),是一種依照一定的規則,自動地抓取萬維網資訊的程式或腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程式或蠕蟲。其實通俗的講就是透過程式去取得 web 頁面上自己想要的數據,也就是自動抓取數據。
網路爬蟲(英文:web crawler),也叫網路蜘蛛(spider),是用來自動瀏覽萬維網的網路機器人。其目的一般為編纂網絡索引。
網路搜尋引擎等網站透過爬蟲軟體更新自身的網站內容或其對其他網站的索引。網路爬蟲可以將自己所造訪的頁面儲存下來,以便搜尋引擎事後產生索引供使用者搜尋。
爬蟲造訪網站的過程會消耗目標系統資源。不少網路系統並不默許爬蟲工作。因此在訪問大量頁面時,爬蟲需要考慮到規劃、負載,還需要講「禮貌」。 不願意被爬蟲造訪、被爬蟲主人知曉的公開網站可以使用robots.txt檔案之類的方法避免造訪。這個文件可以要求機器人只對網站的一部分進行索引,或完全不處理。
網路上的頁面極多,即使是最大的爬蟲系統也無法做出完整的索引。因此在西元2000年之前的萬維網出現初期,搜尋引擎經常找不到太多相關結果。現在的搜尋引擎在這方面已經進步很多,能夠立即給出高品質結果。
爬蟲還可以驗證超連結和HTML程式碼,用於網頁抓取。
Python 爬蟲
Python 爬蟲架構
Python 爬蟲架構主要由五個部分組成,分別是調度器、 URL 管理員、網頁下載器、網頁解析器、應用程式(爬取的有價值資料)。
調度器:相當於一台電腦的 CPU,主要負責調度 URL 管理器、下載器、解析器之間的協調工作。
URL 管理員:包含待爬取的URL 位址和已爬取的URL 位址,防止重複抓取URL 和循環抓取URL,實作URL 管理器主要用三種方式,透過記憶體、資料庫、快取資料庫來實現。
網頁下載器:透過傳入一個URL 位址來下載網頁,將網頁轉換成字串,網頁下載器有urllib2(Python 官方基礎模組)包括需要登入、代理、和cookie,requests(第三方套件)
網頁解析器:將一個網頁字串進行解析,可以按照我們的要求來提取出我們有用的信息,也可以根據DOM 樹的解析方式來解析。網頁解析器有正規表示式(直觀,將網頁轉成字串透過模糊匹配的方式來提取有價值的信息,當文檔比較複雜的時候,該方法提取數據的時候就會非常的困難)、html. parser(Python 自帶的)、beautifulsoup(第三方插件,可以使用Python 自帶的html.parser 進行解析,也可以使用lxml 進行解析,相對於其他幾種來說要強大一些)、lxml(第三方插件,可以解析xml 和HTML),html.parser 和beautifulsoup 以及lxml 都是以DOM 樹的方式進行解析的。
應用程式:就是從網頁擷取的有用資料所組成的一個應用程式。
爬蟲可以做什麼?
你可以用爬蟲爬圖片,爬取影片等等你想要爬取的數據,只要你能透過瀏覽器存取的數據都可以透過爬蟲取得。
爬蟲的本質是什麼?
模擬瀏覽器開啟網頁,取得網頁中我們想要的那部分資料
瀏覽器開啟網頁的過程:
當你在瀏覽器中輸入位址後,經過DNS 伺服器找到伺服器主機,向伺服器傳送一個請求,伺服器經過解析後傳送給使用者瀏覽器結果,包含html,js,css 等檔案內容,瀏覽器解析出來最後呈現給使用者在瀏覽器上看到的結果
所以使用者看到的瀏覽器的結果就是由HTML 程式碼構成的,我們爬蟲就是為了取得這些內容,透過分析和過濾html 程式碼,從中取得我們想要資源。
相關推薦:《Python教學》
以上是python的爬蟲是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!