python爬蟲(一)


從我接觸python爬蟲開始,斷斷續續的學習到現在將將入門,已經過去了一個多月了,發現爬蟲真的是一項浩瀚的工程,涉及的知識面非常廣。我在這里主要是分享一下自己學的東西,同時做個總結。有寫錯或理解有誤的地方歡迎各位大神指正。

什么是爬蟲
用通俗易懂的語言來說就是個人寫一個程序來模擬瀏覽器,發送網絡請求,獲取響應,然后我們把拿到的數據進行處理的一種行為。
http://www.google.com/googlebooks/chrome/big_00.html這個是谷歌一名工程師用漫畫的形式寫的瀏覽器原理(請自備梯子)。

爬蟲的應用
你可以爬去想要的圖片,爬取自己想看的視頻等等你想要爬取的數據,只要你能通過瀏覽器訪問的數據都可以通過爬蟲獲取,這里要有一個信念:只要是網絡上有的就一定能爬,沒有爬不到的內容只有想不到的內容。爬蟲往小的做,可以爬一些簡單的文件,如爬豆瓣電影,往大的做,諸如百度搜索,谷歌搜索。

爬蟲到底是什么
就像瀏覽器一樣,我們通過瀏覽器打開網頁,獲取網頁中我們想要的那部分數據。

瀏覽器打開網頁的過程:
當你在瀏覽器中輸入地址后,經過DNS服務器(域名系統服務器,用於解析請求網站的IP地址)找到服務器主機,向服務器發送一個請求,服務器返回一個響應給瀏覽器結果,包括html,js,css等文件內容,瀏覽器解析出來最后呈現給用戶在瀏覽器上看到的結果,即網站頁面。頁面由html(超文本標記語言)構成,爬蟲就是為了獲取這些內容,通過一定的方式分析和過濾html代碼,從中獲取我們想要資源(文本,圖片,視頻.....)

瀏覽器的請求

咱們先說說url,中文名統一資源定位符,用來定位網絡上各種資源的位置和獲得這些資源的方法。

url的組成:

url = 請求協議 + 域名 + 資源路徑 + 參數

請求協議:是指用什么樣的方法來獲得這些資源,最常用的即http協議和https協議,其次為ftp協議。

域名:服務器地址。

資源路徑:在服務器的哪個位置,就和你在硬盤上存儲一個文件,在c盤360文件夾的那哪個位置。可有可無。

參數:如果文件是分段存儲,指的是可能的文件片段存儲位置。或為客戶端傳入服務器的一些參數,可有可無。

在瀏覽器頁面,右擊鼠標選擇檢查,出現一個窗口。如圖:

下部為打開的調試工具,element就是頁面的元素,可以看作是頁面的html,我們就是從這里提取一些數據的,比如可以用xpath-helper來查看這些數據,在python中也有xpath方法。

Network是表示當前網絡傳輸的一些內容,可以實時看到瀏覽器與服務器的交互內容。上面這個圖打開的就是瀏覽器發送請求並獲得響應的一個展示,Headers包括了請求頭,響應頭,傳輸文件等,是http或https協議的一部分。

response其實就是瀏覽器獲得的響應,基本上與elements相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM