官术网_书友最值得收藏!

3.1 網絡爬蟲基礎

對于網絡爬蟲這一新奇的概念,大家可以將其理解為在網絡中爬行的一只小蜘蛛,如果它遇到喜歡的資源,就會把這些信息抓取下來作為己用。在本節(jié)的內容中,將詳細講解網絡爬蟲的基礎知識。

我們在瀏覽網頁時可能會看到許多好看的圖片,如打開網頁http://image.baidu.com/。網頁實質是由HTML代碼構成的,爬蟲的功能是分析和過濾這些HTML代碼,然后將有用的資源(如圖片和文字等)抓取出來。在現實應用中,被抓取出來的爬蟲數據十分重要,通常作為數據分析的原始資料。

在使用爬蟲抓取網絡數據時,必須要有一個目標URL才可以獲取數據。網絡爬蟲從一個或若干初始網頁的URL開始,在抓取網頁的過程中,不斷從當前頁面上抽取新的URL,并將URL放入到隊列中。當滿足系統(tǒng)設置的停止條件時,爬蟲會停止抓取操作。為了使用爬取到的數據,系統(tǒng)需要存儲被爬蟲抓取到的網頁,然后進行一系列的數據分析和過濾工作。

在現實應用中,網絡爬蟲獲取網絡數據的流程如下。

(1)模擬瀏覽器發(fā)送請求

在客戶端使用HTTP技術向目標Web頁面發(fā)起請求,即發(fā)送一個Request。在Request中包含請求頭和請求體等信息,是訪問目標Web頁面的前提。Request請求方式有一個缺陷,即不能執(zhí)行JS和CSS代碼。

(2)獲取響應內容

如果目標Web服務器能夠正常響應,在客戶端會得到一個Response響應,Response內容包含HTML、JSON、圖片和視頻等類型的信息。

(3)解析內容

解析目標網頁內容時,既可以使用正則表達式提高解析效率,也可以使用第三方解析庫提高解析效率(常用的第三方解析庫例有Beautifulsoup和pyquery等)。

(4)保存數據

在現實應用中,通常會將爬取的數據保存到數據庫(如MySQL,Mongdb、Redis等)或不同格式的文件(如CSV、JSON等)中,為下一步的數據分析工作做好準備。

主站蜘蛛池模板: 柘城县| 修文县| 荆州市| 加查县| 察隅县| 周宁县| 万安县| 抚顺县| 翼城县| 甘肃省| 夏邑县| 康乐县| 玛纳斯县| 佛山市| 丹东市| 乐平市| 红原县| 前郭尔| 海门市| 呈贡县| 大化| 汾阳市| 宿州市| 衡阳县| 金堂县| 大安市| 永嘉县| 九龙城区| 古交市| 灵寿县| 紫阳县| 麻栗坡县| 威信县| 南康市| 永泰县| 抚宁县| 左贡县| 蓬莱市| 嵊州市| 牙克石市| 西丰县|