2023年最詳細的python爬蟲入門教程

2021-10-25 19:13:12 字數 2347 閱讀 8681

爬蟲(又被稱為網頁蜘蛛,網路機械人)就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。

原則上,只要是瀏覽器(客戶端)能做的事情,爬蟲都能夠做。

robots協議:**通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是道德層面上的約束。

但是在爬蟲中,爬蟲只會請求url位址,對應的拿到url位址對應的響應。瀏覽器渲染出來的頁面和爬蟲請求的頁面並不一樣。所以在爬蟲中,需要以url位址對應的響應為準來進行資料的提取。

url的形式:scheme://host[:port#]/path/…/[?query-string][#anchor]

http:超文字傳輸協議,預設埠號:80

https:http + ssl(安全套接字層),預設埠號:443 (https比http更安全,但是效能更低)

http常見請求頭

host (主機和埠號)

connection (鏈結型別)

upgrade-insecure-requests (公升級為https請求)

user-agent (瀏覽器名稱)

accept (傳輸檔案型別)

referer (頁面跳轉處)

accept-encoding(檔案編譯碼格式)

cookie (cookie)

x-requested-with :xmlhttprequest (是ajax 非同步請求)

常見的請求方法

有關 get 請求的其他一些注釋:

有關 post 請求的其他一些注釋:

響應狀態碼(status code)

常見的狀態碼:

**ip的分類:

透明**(transparent proxy),透明**雖然可以直接「隱藏」你的ip位址,但是還是可以從http_x_forwarded_for來查到你是誰。

匿名**(anonymous proxy),匿名**比透明**進步了一點:別人只能知道你用了**,無法知道你是誰。

混淆**(distorting proxies),與匿名**相同,如果使用了混淆**,別人還是能知道你在用**,但是會得到乙個假的ip位址,偽裝的更逼真。

高匿**(elite proxy或high anonymity proxy),高匿**讓別人根本無法發現你是在用**,所以是最好的選擇。

scrapy是乙個為了爬取**資料,提取結構性資料而編寫的應用框架,我們只需要實現少量的**,就能夠快速的抓取。

scrapy的流程

從上圖可以衍生出下圖,個人覺得更加好理解一些

其流程可以描述如下:

爬蟲提取url位址,組裝成request物件---->爬蟲中介軟體--->引擎--->排程器

爬蟲提取資料--->引擎--->管道

管道進行資料的處理和儲存

scrapy中每個模組的具體作用:

scrapy專案實現流程:

scrapy.cfg :專案的配置檔案

myspider/ :專案的python模組,將會從這裡引用**

myspider/items.py :專案的目標檔案

myspider/pipelines.py :專案的管道檔案

myspider/settings.py :專案的設定檔案

myspider/spiders/ :儲存爬蟲**目錄

認識scrapy的debug資訊

每次程式啟動後,預設情況下,終端都會出現很多的debug資訊,那麼下面我們來簡單認識下這些資訊

scrapy shell的使用

response.headers:響應頭

response.body:響應體,也就是html**,預設是byte型別

response.requests.headers:當前響應的請求頭

settings.py中的重點欄位和內涵

2021 年最漂亮的 Linux 發行版

想必大家都知道三大常用作業系統 linux windows mac os。而最受嵌入式軟體工程師青睞的系統確實linux。linux 的發行版有很多,這裡羅列7個漂亮的 linux 發行版。一 elementary os elementary os作業系統是最漂亮的linux發行版之一。它基於mac...

2021 年最流行的 10 款 VSCode 擴充套件

領取大佬們推薦的學習資料 由於擴充套件可以很大程度提高開發的效率,visualstudio code 儼然成為開發者社群最流行的一款編輯器。本文就為大家介紹下 2021 年最流行的 10 款 visualstudio code 擴充套件。作者 ashutosh singh 譯者 彎月 出品 csdn...

2023年必備 Python 外掛程式!

今天給大家分享一些python中必備外掛程式。如果你是初學小白,建議全部安裝並盡快上手,敲 效率直接起飛。當然如果你是老司機,也可查缺補漏。python這個外掛程式必裝,別問為啥!因為它是微軟vscode開發團隊自己開發的,親兒子的級別。雖然 vscode 不安裝任何外掛程式也能高亮python 但...