1. 程式人生 > >初始爬蟲

初始爬蟲

上網 二進制 行業 循環 便是 使用 表達式 是什麽 頁面

爬蟲簡介

概述

技術分享圖片

近年來,隨著網絡應用的逐漸擴展和深入,如何高效的獲取網上數據成為了無數公司和個人的追求,在大數據時代,誰掌握了更多的數據,誰就可以獲得更高的利益,而網絡爬蟲是其中最為常用的一種從網上爬取數據的手段。

網絡爬蟲,即Web Spider,是一個很形象的名字。如果把互聯網比喻成一個蜘蛛網,那麽Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛是通過網頁的鏈接地址來尋找網頁的。從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那麽網絡蜘蛛就可以用這個原理把互聯網上所有的網頁都抓取下來。

爬蟲的價值

互聯網中最有價值的便是數據,比如天貓商城的商品信息,鏈家網的租房信息,雪球網的證券投資信息等等,這些數據都代表了各個行業的真金白銀,可以說,誰掌握了行業內的第一手數據,誰就成了整個行業的主宰,如果把整個互聯網的數據比喻為一座寶藏,那我們的爬蟲課程就是來教大家如何來高效地挖掘這些寶藏,掌握了爬蟲技能, 你就成了所有互聯網信息公司幕後的老板,換言之,它們都在免費為你提供有價值的數據。

一 爬蟲是什麽

技術分享圖片

技術分享圖片
#1、什麽是互聯網?
    互聯網是由網絡設備(網線,路由器,交換機,防火墻等等)和一臺臺計算機連接而成,像一張網一樣。

#2、互聯網建立的目的?
    互聯網的核心價值在於數據的共享/傳遞:數據是存放於一臺臺計算機上的,而將計算機互聯到一起的目的就是為了能夠方便彼此之間的數據共享/傳遞,否則你只能拿U盤去別人的計算機上拷貝數據了。

#3、什麽是上網?爬蟲要做的是什麽?
    我們所謂的上網便是由用戶端計算機發送請求給目標計算機,將目標計算機的數據下載到本地的過程。
    #3.1 只不過,用戶獲取網絡數據的方式是:
      瀏覽器提交請求->下載網頁代碼->解析/渲染成頁面。

    #3.2 而爬蟲程序要做的就是:
      模擬瀏覽器發送請求->下載網頁代碼->只提取有用的數據->存放於數據庫或文件中
 
    #3.1與3.2的區別在於:
      我們的爬蟲程序只提取網頁代碼中對我們有用的數據

#4、總結爬蟲
    #4.1 爬蟲的比喻:
      如果我們把互聯網比作一張大的蜘蛛網,那一臺計算機上的數據便是蜘蛛網上的一個獵物,而爬蟲程序就是一只小蜘蛛,沿著蜘蛛網抓取自己想要的獵物/數據

    #4.2 爬蟲的定義:
      向網站發起請求,獲取資源後分析並提取有用數據的程序
#4.3 爬蟲的價值: 互聯網中最有價值的便是數據,比如天貓商城的商品信息,鏈家網的租房信息,雪球網的證券投資信息等等,這些數據都代表了各個行業的真金白銀,可以說,誰掌握了行業內的第一手數據,誰就成了整個行業的主宰,如果把整個互聯網的數據比喻為一座寶藏,那我們的爬蟲課程就是來教大家如何來高效地挖掘這些寶藏,掌握了爬蟲技能,你就成了所有互聯網信息公司幕後的老板,換言之,它們都在免費為你提供有價值的數據。
技術分享圖片

二 爬蟲的基本流程

技術分享圖片

#1、發起請求
使用http庫向目標站點發起請求,即發送一個Request
Request包含:請求頭、請求體等

#2、獲取響應內容 如果服務器能正常響應,則會得到一個Response Response包含:html,json,圖片,視頻等 #3、解析內容 解析html數據:正則表達式,第三方解析庫如Beautifulsoup,pyquery等 解析json數據:json模塊 解析二進制數據:以b的方式寫入文件 #4、保存數據 數據庫 文件

三 請求與響應

技術分享圖片

#http協議:http://www.cnblogs.com/linhaifeng/articles/8243379.html

#Request:用戶將自己的信息通過瀏覽器(socket client)發送給服務器(socket server)

#Response:服務器接收請求,分析用戶發來的請求信息,然後返回數據(返回的數據中可能包含其他鏈接,如:圖片,js,css等)

#ps:瀏覽器在接收Response後,會解析其內容來顯示給用戶,而爬蟲程序在模擬瀏覽器發送請求然後接收Response後,是要提取其中的有用數據。

初始爬蟲