三種爬蟲方式
通用爬蟲: 抓取系統重要組成部分,獲取的是整張頁面資料
聚焦爬蟲: 建立在通用爬蟲之上,抓取頁面指定的區域性內容
增量式爬蟲: 檢測**資料更新的情況,只抓取更新出來的資料
https協議: 安全的超文字傳輸協議(證書秘鑰加密))
請求頭:
響應頭:
加密方式:
傳送請求 ---> 獲取響應內容 ---> 解析內容 ---> 儲存資料
1.傳送請求: 向目標站點傳送乙個request, request包含了請求頭,請求體等引數
3.解析內容: 解析response資料。(正則,第三方庫。。。)
4.儲存資料: mysql ,本地檔案file,mongodb,redis。。。
1.請求方式:
get,post,head,put,delete,opthons。。。
get請求攜帶的引數拼接在url,post請求攜帶的引數放在請求體內,存放在form data
2.請求url:
url全稱統一資源定位符 靚仔
中文·靚仔·會被解碼
3.請求頭:
user-agent:告訴它這是瀏覽器發過來的請求(請求頭中如果沒有user-agent客戶端配置,服務端可能將你當做乙個非法使用者)務必加上
host:
cookies:cookie用來儲存登入資訊
referer:上一次的跳轉路徑
一般做爬蟲都會加上請求頭
4.請求體:
如果是get方式,請求體沒有內容
如果是post方式,請求體是format data
ps:1、登入視窗,檔案上傳等,資訊都會被附加到請求體內
2、登入,輸入錯誤的使用者名稱密碼,然後提交,就可以看到post,正確登入後頁面通常會跳轉,無法捕捉到post
請求例子一:
import requests
from urllib.parse import urlencode
# 請求方式
kwords = input('請輸入關鍵字:>>>').strip()
res = urlencode() # 使用urlencode可以解析中文
url = "" + res
# 請求頭
# 傳送請求
print(response.status_code) # 響應狀態碼
print(response.text) # 返回的html
# 儲存資料
with open('search.html', 'w', encoding='utf-8') as f:
f.write(response.text)
print('儲存成功')
例項二:
import requests
# 請求方式
kwords = input('請輸入關鍵字:>>>').strip()
# 使用urlencode可以解析中文
url = ""
params =
# 請求頭
# 傳送請求
)print(response.status_code) # 響應狀態碼
# print(response.text) # 返回的html
# 儲存資料
with open('search1.html', 'w', encoding='utf-8') as f:
f.write(response.text)
print('儲存成功')
爬蟲基本原理
一 爬蟲是什麼?爬蟲要做的是什麼?使用者獲取網路資料的方式是 爬蟲程式要做的就是 區別在於 我們的爬蟲程式只提取網頁 中對我們有用的資料 為什麼要做爬蟲 爬蟲的價值 網際網路中最有價值的便是資料,比如天貓 的商品資訊,鏈家網的租房資訊,雪球網的 投資資訊等等,這些資料都代表了各個行業的真金 可以說,...
爬蟲基本原理
一 爬蟲介紹 本質,就是想 傳送http請求,拿回一些頁面 json格式資料 request 處理資料,解析出有用的東西 re,bs4 儲存 mysql,檔案,cvs,redis,mongodb,es 分析 cookie池和 池 正向 和反向 正向 自己,反向 伺服器 爬蟲運用模組 requests...
爬蟲基本原理(2)
請求 並提取資料的 自動化程式 發起請求 通過http庫向 目標站點發起請求,即傳送 個request,請求可以包含額外的headers等資訊,等待伺服器響應。獲取相應內容 解析內容 得到的內容可能是html,可以 用正規表示式 頁解析庫進 解析。可能是json,可以直接轉為json物件解析,可能是...