爬蟲基本原理

2021-09-27 05:49:30 字數 3128 閱讀 6057

一、爬蟲是什麼?

爬蟲要做的是什麼?

使用者獲取網路資料的方式是:

爬蟲程式要做的就是:

區別在於:

我們的爬蟲程式只提取網頁**中對我們有用的資料

為什麼要做爬蟲

爬蟲的價值:

網際網路中最有價值的便是資料,比如天貓**的商品資訊,鏈家網的租房資訊,雪球網的**投資資訊等等,

這些資料都代表了各個行業的真金**,可以說,誰掌握了行業內的第一手資料,誰就成了整個行業的主宰,如果把整個網際網路的資料比喻為一座寶藏,

那我們的爬蟲課程就是來教大家如何來高效地挖掘這些寶藏,掌握了爬蟲技能,你就成了所有網際網路資訊公司幕後的老闆,換言之,它們都在免費為你提供有價值的資料。

二、爬蟲的基本流程

#1、發起請求

使用http庫向目標站點發起請求,即傳送乙個request

request包含:請求頭、請求體等

#2、獲取響應內容

如果伺服器能正常響應,則會得到乙個response

#3、解析內容

解析html資料:正規表示式,第三方解析庫如beautifulsoup,pyquery等

解析json資料:json模組

解析二進位制資料:以b的方式寫入檔案

#4、儲存資料

資料庫檔案

三、請求與響應

#http協議:

#request:使用者將自己的資訊通過瀏覽器(socket client)傳送給伺服器(socket server)

#ps:瀏覽器在接收response後,會解析其內容來顯示給使用者,而爬蟲程式在模擬瀏覽器傳送請求然後接收response後,是要提取其中的有用資料。

四、request
#1、請求方式:

常用的請求方式:get,post

其他請求方式:head,put,delete,opthons

ps:用瀏覽器演示get與post的區別,(用登入演示post)

post與get請求最終都會拼接成這種形式:k1=***&k2=yyy&k3=zzz

post請求的引數放在請求體內:

可用瀏覽器檢視,存放於form data內

get請求的引數直接放在url後

#2、請求url

url全稱統一資源定位符,如乙個網頁文件,一張

url編碼

會被編碼(看示例**)

網頁的載入過程是:

載入乙個網頁,通常都是先載入document文件,

#3、請求頭

user-agent:請求頭中如果沒有user-agent客戶端配置,

服務端可能將你當做乙個非法使用者

host

cookies:cookie用來儲存登入資訊

一般做爬蟲都會加上請求頭

#4、請求體

如果是get方式,請求體沒有內容

如果是post方式,請求體是format data

ps:1、登入視窗,檔案上傳等,資訊都會被附加到請求體內

2、登入,輸入錯誤的使用者名稱密碼,然後提交,就可以看到post,正確登入後頁面通常會跳轉,無法捕捉到post

'''

'''#! /usr/bin/env python

# -*- coding: utf-8 -*-

import requests

from urllib.parse import urlencode

# 請求方式

kwords = input("請輸入關鍵字:>>").strip()

url =""+res #%e5%9b%be%e7%89%87

response = requests.get(

url,

# 請求頭

headers=,

)with open("a.html","w",encoding="utf-8") as f:

f.write(response.text)

print(response.status_code)

'''

'''#! /usr/bin/env python

# -*- coding: utf-8 -*-

import requests

from urllib.parse import urlencode

kwords = input("請輸入關鍵字:>>").strip()

response = requests.get(

"",params=,

# 請求頭

headers=,

)with open("b.html", "w", encoding="utf-8") as f:

f.write(response.text)

print(response.status_code)

五 response
#1、響應狀態

200:代表成功

301:代表跳轉

404:檔案不存在

403:許可權

502:伺服器錯誤

#2、respone header

set-cookie:可能有多個,是來告訴瀏覽器,把cookie儲存下來

#3、preview就是網頁源**

最主要的部分,包含了請求資源的內容

如網頁html,

二進位制資料等

六 總結
#1、總結爬蟲流程:

爬取--->解析--->儲存

#2、爬蟲所需工具:

請求庫:requests,selenium

解析庫:正則,beautifulsoup,pyquery

儲存庫:檔案,mysql,mongodb,redis

#3、爬蟲常用框架:

scrapy

爬蟲基本原理

三種爬蟲方式 通用爬蟲 抓取系統重要組成部分,獲取的是整張頁面資料 聚焦爬蟲 建立在通用爬蟲之上,抓取頁面指定的區域性內容 增量式爬蟲 檢測 資料更新的情況,只抓取更新出來的資料 https協議 安全的超文字傳輸協議 證書秘鑰加密 請求頭 響應頭 加密方式 傳送請求 獲取響應內容 解析內容 儲存資料...

爬蟲基本原理

一 爬蟲介紹 本質,就是想 傳送http請求,拿回一些頁面 json格式資料 request 處理資料,解析出有用的東西 re,bs4 儲存 mysql,檔案,cvs,redis,mongodb,es 分析 cookie池和 池 正向 和反向 正向 自己,反向 伺服器 爬蟲運用模組 requests...

爬蟲基本原理(2)

請求 並提取資料的 自動化程式 發起請求 通過http庫向 目標站點發起請求,即傳送 個request,請求可以包含額外的headers等資訊,等待伺服器響應。獲取相應內容 解析內容 得到的內容可能是html,可以 用正規表示式 頁解析庫進 解析。可能是json,可以直接轉為json物件解析,可能是...