對python
有一些簡單了解的朋友都知識
python
程式語言有個很強大的功能,那就是
python網路爬蟲(
),一提到python
,就會想到相關的
python
爬蟲和scrapy
等等,今天就來簡單認識學習
python
爬蟲的基礎知識,有了一定的相關爬蟲知識,以後學習
scrapy
、urllib
等等知識時,會相對輕鬆些。
爬蟲:聚焦爬蟲的工作流程較為複雜,需要根據一定的網頁分析演算法過濾與主題無關的鏈結,保留有用的鏈結並將其放入等待抓取的url佇列。然後,它將根據一定的搜尋策略從佇列中選擇下一步要抓取的網頁url,並重複上述過程,直到達到系統的某一條件時停止。
另外,所有被爬蟲抓取的網頁將會被系統存貯,進行一定的分析、過濾,並建立索引,以便之後的查詢和檢索;對於聚焦爬蟲來說,這一過程所得到的分析結果還可能對以後的抓取過程給出反饋和指導。
聚焦爬蟲還需要解決三個主要問題:
(1) 對抓取目標的描述或定義;
(2) 對網頁或資料的分析與過濾;
(3) 對url的搜尋策略。
抓取網頁的過程:
抓取網頁的過程其實和我們平時用瀏覽器開啟網頁鏈結差不多,只是平時我們所用的瀏覽器會自動將抓取的html**轉化為我們容易理解的內容。開啟瀏覽器,按下的電腦的f12鍵,就可以檢視該網頁的html**。
什麼是uri
uri與url的區別是:uri 和 url 都定義了 what the resource is。url 還定義了 how to get the resource。
基本url包含模式(或稱協議)、伺服器名稱(或ip位址)、路徑和檔名,如「協議://授權/路徑?查詢」。完整的、帶有授權部分的普通統一資源標誌符語法看上去如下:協議://使用者名稱:密碼@子網域名稱.網域名稱.頂級網域名稱:埠號/目錄/檔名.檔案字尾?引數=值#標誌
urllib:urllib提供的功能就是利用程式去執行各種http請求。
urllib2:urllib2 是python的乙個獲取url(uniform resourcelocators,統一資源定址器)的模組。它用urlopen函式的形式提供了乙個非常簡潔的介面。這使得用各種各樣的協議獲取url 成為可能。它同時也提供了乙個稍微複雜的介面來處理常見的狀況-如基本的認證,cookies,**,等等。這些都是由叫做opener和handler 的物件來處理的。
re:正規表示式模組,指定乙個與之匹配的字元集合,該模組所提供的函式,可以用來檢查所給的字串是否與指定的正規表示式匹配。
beautiful soup:beautiful soup提供一些簡單的、python式的函式用來處理導航、搜尋、修改分析樹等功能。它是乙個工具箱,通過解析文件為使用者提供需要抓取的資料,因為簡 單,所以不需要多少**就可以寫出乙個完整的應用程式。beautiful soup自動將輸入文件轉換為unicode編碼,輸出文件轉換為utf-8編碼。你不需要考慮編碼方式,除非文件沒有指定乙個編碼方式,這 時,beautiful soup就不能自動識別編碼方式了。然後,你僅僅需要說明一下原始編碼方式就可以了。beautiful soup已成為和lxml、html6lib一樣出色的python直譯器,為使用者靈活地提供不同的解析策略或強勁的速度。
requests:requests 是python的乙個http客戶端庫,跟urllib,urllib2類似,那為什麼有時候會用requests而不用urllib2呢?官方文件中是 這樣說明的:python的標準庫urllib2提供了大部分需要的http功能,但在實現某些簡單的功能中,不如requests簡單。
python網路爬蟲實戰
-scrapy()
Python網路爬蟲 原理及基礎知識
爬蟲步驟 1.獲取網頁,使用urllib,requests等第三方庫構造http請求 2.提取資訊,使用正規表示式或者beautifulsoup,pyquery,lxml等工具分析網頁原始碼,提取所需要的資料 3.儲存資料,mongodb,mysql等多種工具 4.自動化程式,抓取過程中的批處理,異...
網路爬蟲的基礎知識
網路爬蟲 web crawler 也叫做網路蜘蛛 spider 是一種用來自動瀏覽全球資訊網的網路機械人。如果我們將全球資訊網比作一張網,每個網頁就是其中的乙個節點,節點之間的連線就是網頁之間的鏈結關係,網路爬蟲就是通過訪問節點,獲取了資訊,並繼續通過鏈結向下乙個節點爬取,一步步獲得整個網路的資訊。...
Python基礎知識 爬蟲入門
爬蟲,即網路爬蟲。打個形象的比方 乙隻蜘蛛在蜘蛛網上爬,可以以某種方式從網上的某個地方找到自己想要的東西。那麼和網頁相聯絡起來有什麼關係呢?首先我們先簡單介紹一下網頁的基本概念。所謂網頁,也就是我們給瀏覽器輸出乙個字串,瀏覽器進行解析後,經dns伺服器找到伺服器主機後,向伺服器發出請求,伺服器經過解...