1. 程式人生 > >爬蟲的原理和思路(自我總結)

爬蟲的原理和思路(自我總結)

網路爬蟲框架主要由控制器解析器索引庫三大部分組成,而爬蟲工作原理主要是解析器這個環節,解析器的主要工作是下載網頁,進行頁面的處理,主要是將一些JS指令碼標籤、CSS程式碼內容、空格字元、HTML標籤等內容處理掉,爬蟲的基本工作是由解析器完成。

解析器的具體流程是:

入口訪問->下載內容->分析結構->提取內容

爬蟲的思路:

1、檢視該網站是否可爬,robot.txt是君子協議,定義了可爬取和不可爬取的內容;之所以叫做君子協議是靠自己的道德去約束的,就是你可以去爬但是違反了你的道德~~~

2、給爬蟲一個目標即網頁地址及引數,模擬瀏覽器請求網站,得到網頁原始碼

3、通過 python 正則對所需要的資料進行分析,匹配出資料

4、儲存資料(資料庫或檔案中)

如果網站有反爬蟲技術,那麼這個過程可能就會稍複雜。

爬蟲的難點在於如何去提取到你需要的資料。

response原始碼中沒有要提取的內容:

只有2種可能,一是ajax非同步,二是js拼接而成

獲取js載入的內容:

1、js載入的:需要分析到底是哪個js加載出來的,可用除錯工具打斷點。然後模擬請求獲得資料

2、使用pyV8

不到萬不得已不要模擬瀏覽器,消耗效能和記憶體,手工除錯分析出資料來源請求即可