關於python網路爬蟲,需要學習的有:
python基礎語法學習(基礎知識)
對html頁面的內容抓取(crawl)
對html頁面的資料解析(parse)
動態html的處理/驗證碼的處理 (針對反爬處理)
scrapy框架以及scrapy-redis分布式策略(第三方框架)
通用爬蟲和聚焦爬蟲
根據使用場景,網路爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種.
通用爬蟲
通用搜尋引擎(search engine)工作原理
通用網路爬蟲 從網際網路中蒐集網頁,採集資訊,這些網頁資訊用於為搜尋引擎建立索引從而提供支援,它決定著整個引擎系統的內容是否豐富,資訊是否即時,因此其效能的優劣直接影響著搜尋引擎的效果。
第一步:抓取網頁
搜尋引擎網路爬蟲的基本工作流程如下:
首先選取一部分的種子url,將這些url放入待抓取url佇列;
分析已抓取url佇列中的url,分析其中的其他url,並且將url放入待抓取url佇列,從而進入下乙個迴圈….
第二步:資料儲存
搜尋引擎通過爬蟲爬取到的網頁,將資料存入原始頁面資料庫。其中的頁面資料與使用者瀏覽器得到的html是完全一樣的。
搜尋引擎蜘蛛在抓取頁面時,也做一定的重複內容檢測,一旦遇到訪問權重很低的**上有大量抄襲、採集或者複製的內容,很可能就不再爬行。
第三步:預處理
搜尋引擎將爬蟲抓取回來的頁面,進行各種步驟的預處理。
聚焦爬蟲
瀏覽網頁的基本過程:
請問:這段網路通訊過程中到底發生了什麼?
簡單來說這段過程發生了以下四個步驟:
瀏覽器通過 dns伺服器 查詢網域名稱對應的 ip位址;
向 ip位址 對應的 web伺服器 傳送請求;
web伺服器 響應請求,發回 html頁面;
瀏覽器解析 html內容,並顯示出來。
dns 是計算機網域名稱系統 (domain name system 或domain name service) 的縮寫,由解析器和網域名稱伺服器組成的。
網域名稱伺服器是指儲存有該網路中所有主機的網域名稱和對應ip位址,並具有將網域名稱轉換為ip位址功能的伺服器。
一般乙個網域名稱的 dns解析時間 在10~60毫秒之間。
乙個網域名稱必須對應乙個ip位址,而乙個ip位址不一定會有網域名稱。
http和https
http協議(hypertext transfer protocol,超文字傳輸協議):是一種發布和接收 html頁面的方法。
https(hypertext transfer protocol over secure socket layer)簡單講是http的安全版,在http下加入ssl層。
ssl(secure sockets layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。
http的埠號為80,
https的埠號為443
http工作原理
網路爬蟲抓取過程可以理解為模擬瀏覽器操作的過程。
瀏覽器的主要功能是向伺服器發出請求,在瀏覽器視窗中展示您選擇的網路資源,http是一套計算機通過網路進行通訊的規則。
覽器傳送http請求的過程:
當使用者在瀏覽器的位址列中輸入乙個url位址並按回車鍵之後,瀏覽器會向http伺服器傳送http請求。
http請求主要分為 get 和 post 兩種方法。
當我們在瀏覽器輸入url 的時候,瀏覽器傳送乙個request請求去獲取 的html檔案,伺服器把response檔案物件傳送回給瀏覽器。
瀏覽器分析response中的 html,發現其中引用了很多其他檔案,比如images檔案,css檔案,js檔案。 瀏覽器會自動再次傳送request去獲取,css檔案,或者js檔案等。
url(uniform / universal resource locator的縮寫):統一資源定位符,是用於完整地描述internet上網頁和其他資源的位址的一種標識方法。
基本格式:scheme://host[:port]/path/…/[?query-string][#anchor]
scheme:協議(例如:http, https, ftp)
host:伺服器的ip位址或者網域名稱
port:伺服器的埠(如果是走協議預設埠,預設埠80)
path:訪問資源的路徑
query-string:引數,傳送給http伺服器的資料
anchor:錨(跳轉到網頁的指定錨點位置)
爬蟲基礎 Python 抓取網頁(學習筆記)
import urllib.request url headers 瀏覽器偽裝 request urllib.request.request url,headers headers 發出請求 開啟和讀取url請求並且爬取網頁內容 try response urllib.request.urlopen...
Python爬蟲基礎 1
url uniform resource locator 統一資源定位符。採用url可以用一種統一的格式來描述各種資訊資源,包括檔案 伺服器的位址和目錄等。url的一般格式為 帶方括號的為可選項 protocol hostname port path parameters query fragmen...
Python爬蟲基礎1
python版本 3.6 編譯器 pycharm 系統 win 10 1 file new project create 2 右擊建立的專案 new python file 3 開始輸入 import urllib.request response urllib.request urlopen pr...