- 注重著作權,轉載請注明原作者和原文鏈接
- 作者:Bald programmer
文章目錄
- 功能展示
- 前言
- 爬蟲的介紹
- 正文
- 首先了解百度圖片搜索結構
- 代碼設計
功能展示


前言
爬蟲的介紹
本次代碼案例的原理是通過爬蟲來實作的,所以首先要了解什么是 爬蟲? 爬蟲是干嘛的?
-
網路爬蟲,又稱為網頁蜘蛛,網路機器人,是一種按照一定的規則,自動請求萬維網網站并提取網路資料得到程式或腳本,
-
用途

-
大部分爬蟲作業原理
- 以上簡要的概述了一下 網路爬蟲,若想詳細了解網路爬蟲可點擊下方鏈接
作者:yangsen99
鏈接:https://blog.csdn.net/yangsen99/article/details/90260937
正文
首先了解百度圖片搜索結構
-
打開百度,來到百度圖片搜索界面

-
點擊右鍵,選擇 檢查,或者按下快捷鍵 F12 來到開發者工具界面
-
點擊最上方的 Network, 在百度圖片輸入框輸入你想要搜索的圖片,點擊 百度一下

-
有的可能會顯示在左邊或者右邊,這個可以設定的,點擊頂欄最右邊的 三個點, Dock side選擇自己舒服的展開樣式

-
搜索之后可以在 開發者工具 下方看到有變化了,這些是網頁的資源,我們篩選一下,點擊選擇 XHR

-
這時候我們將游標放在圖片區域,向下滑動加載更多的圖片,按下 Crtl+R 重繪這時候我們會看到很多 acjson?······的資料

-
隨便點開一個,這里我們可以看到在Headers中有很多引數,這里就是我們今天的重點所在

這里我就只介紹幾個比較重要的,想要詳細了解每個引數的可以點擊下方鏈接
作者:宋學慧
鏈接:https://blog.csdn.net/weixin_45598506/article/details/112917752
-
首先是General中的引數
-
Request URL -->發送請求的鏈接 -
Request Method -->發送請求的型別(GET、POST等等) -
Status Code -->狀態碼(200表示請求成功)
接下來是Request Headers(請求頭)的引數
-
User-Agent -->客戶端使用的作業系統和瀏覽器的名稱和版本(用來模擬器瀏覽器訪問) -
Cookie -->用來辨別用戶身份
最后就是我們今天的重點Query String Parameters的引數
-
queryWord -->搜索詞(可以看到這里就是我們在百度圖片輸入框輸入的詞) -
pn -->表示頁數(值為頁數*30) -
rn -->表示一頁顯示的圖片數量 -
gsm -->表示一個十六進制值(pn轉換為16進制取前兩位)
通過幾個不同的 acjson?···發現,他們的Query String Parameters除了queryWord,pn,gsm這三個引數的值不相同,其他都是一樣的
由此我們可以設計由用戶輸入queryWord,自定義pn來實作自動圖片搜索,廢話不多話,上代碼
代碼設計
- 首先匯入我們要用到的庫,定義引數
# -*- coding: utf-8 -*-
"""
@author: 袁德偉
@age: 21
@Data: 2021
Created on Wed Feb 10 22:28:28 2021
"""
import os #檔案夾的操作
import time #設定間隔時間
import shutil #洗掉檔案夾操作
import requests #發送請求
quantity = 0 #頁數初始化
word = "" #搜索詞
file = "" #檔案夾名稱
headers = {} #頭部資訊
all_list = [] #存放圖片鏈接
parameters = [] #存放每頁XHR介面的param
- 接著是兩個重要引數的定義(這里headers因引數太多只展示部分)
headers = {
'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/87.0.4280.88Safari/537.36',
}
parameters = {
'queryWord':self.word, #搜索詞(用戶輸入)
'word':self.word, #搜索詞(用戶輸入)
'pn':pn, #頁數(用戶輸入)
'rn':'30',
'gsm':gsm, #利用hex()函式將pn轉換為十六進制并獲取前兩位
TIME:'', #時間戳(采用time.time()獲取)
}
-
最后就是邏輯設計了,由用戶輸入資料–>求出引數–>創建檔案夾–>發送請求–>獲得圖片資源–>下載到檔案夾


-
代碼太多,這里只展示部分,想要完整代碼可點擊下方鏈接下載
https://download.csdn.net/download/weixin_47971206/16794679
- 本次文章分享就到這,有什么疑問或有更好的建議可在評論區留言,也可以私信我,感謝閱讀~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/278864.html
標籤:python
