前言 一. 數據來源分析 明確需求, 我們採集網上什麼數據內容, 在什麼地方 分析我們想要高清原圖在什麼地方有 瀏覽器自帶工具: 開發者工具 F12 滑鼠右鍵點擊 插件 選擇 network 刷新網頁 點擊選擇 Img 可以直接找到圖片地址 通過搜索分析, 可以知道, 我們想要圖片原圖url 就在 ...
前言
一. 數據來源分析
- 明確需求, 我們採集網上什麼數據內容, 在什麼地方
- 分析我們想要高清原圖在什麼地方有
- 瀏覽器自帶工具: 開發者工具 F12
- 滑鼠右鍵點擊 插件 選擇 network 刷新網頁
- 點擊選擇 Img 可以直接找到圖片地址
- 通過搜索分析, 可以知道, 我們想要圖片原圖url 就在 圖片詳情頁網頁源代碼裡面
二. 代碼大概實現步驟
- 發送請求, 模擬瀏覽器對於 圖片目錄頁面 發送請求
- 獲取數據, 獲取伺服器返迴響應數據
- 解析數據, 提取我們想要數據內容
- 發送請求, 模擬瀏覽器對於 圖片詳情頁url 發送請求
- 獲取數據, 獲取伺服器返迴響應數據
- 解析數據, 提取我們想要數據內容
- 保存數據, 把圖片保存文本文件夾
對於本篇文章有疑問的同學可以加【資料白嫖、解答交流群:753182387】
代碼實現
導入模塊
import requests
import re
請求數據
url = f'https://m.bcoderss.com/tag/漫畫/page/1/'
# 模擬瀏覽器 --> headers 請求頭
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 發送請求
response = requests.get(url=url, headers=headers)
<Response [200]> 表示請求成功
解析數據, 提取我們想要數據內容
提取詳情頁url地址
img_info = re.findall('<li><a target="_blank" href="(.*?)" alt="(.*?)" title=".*?">', response.text)
for迴圈遍歷 把列表裡面元素 一個一個提取出來
for img, title in img_info:
html_data = requests.get(url=img, headers=headers).text
# 提取原圖url地址
img_url = re.findall('<img alt=".*?" title=".*?" src="(.*?)">', html_data)[0]
獲取二進位數據
img_content = requests.get(url=img_url).content
替換特殊字元
img_title = title + img_url.split('/')[-1]
img_title = re.sub(r'[\/:*?:<>|]', '_', img_title)
保存數據
with opythonpen('img漫畫\\' + img_title, mode='wb') as f:
f.write(img_content)
print(img_url, img_title)