學習爬蟲基礎 網頁基礎1

2021-09-30 14:29:42 字數 2448 閱讀 8191

關於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...