爬蟲的基本原理

一.爬蟲概述

爬蟲就是獲取網頁並提取和保存信息的自動化程序前端

1)獲取網頁

爬蟲首先要作的工做就是獲取網頁,即獲取網頁的源代碼,源代碼包含了網頁部分有用信息,只要把源代碼獲取下來,就能夠從中提取想要的信息。正則表達式

Python提供許多庫如urllib,requests等,能夠實現HTTP請求操做,獲得響應後只須要解析數據結構中的Body部分便可,即獲得網頁的源代碼。數據庫

2)提取信息

獲取網頁源代碼後,接下來就是分析網頁源代碼,從中提取咱們想要的數據。瀏覽器

首先,最通用的方法是用正則表達式提取;另外,因爲網頁的結構有必定的規則,因此還有一些根據網頁節點屬性,CSS選擇器或Xpath來提取網頁信息的庫,如Beautiful Soup,pyquery,lxml等服務器

提取信息是爬蟲很是重要的部分,它可使雜亂的數據變得條理清晰,以便咱們後續處理和分析數據數據結構

3)保存數據

提取信息後,通常會將提取的數據保存到某處以便後續使用,保存的形式多種多樣,能夠簡單保存爲TXT文本或JSON文本,也能夠保存到數據庫,如MySQL和MongoDB等,也能夠保存至遠程服務器,如藉助SFTP進行操做模塊化

二.JavaSript渲染頁面

如今愈來愈多的網頁採用Ajax,前端模塊化工具來構建,整個網頁均可能是有Javascript渲染出來的,即原始的HTML代碼就是個空殼工具

所以使用基本HTTP請求庫獲得的源代碼可能和瀏覽器中的頁面源代碼不太同樣,這種狀況,能夠分析其後臺Ajax接口,也可以使用Selenium,Splash這些庫來實現模擬Javasript渲染url

相關文章
相關標籤/搜索