大家好,我是辣條,
今天給大家帶來【爬蟲實戰100例】之41篇,爬蟲之路永無止境,
爬取目標
網址:尺度有點大,遭不住...

效果展示

工具準備
開發工具:pycharm 開發環境:python3.7, Windows11 使用工具包:requests
專案決議思路
獲取當當前網頁的跳轉地址,當前頁面為主頁面資料,我們需要的資料別有一番天地,獲取到網頁資訊提取出所有的跳轉地址,獲取到原始碼里的a標簽就行當前網頁的加載方式為靜態資料,直接請求網頁地址;
url = 'https://www.xxxx.com/
從源代碼里提取到所以的跳轉地址

提取的方式可自行選擇,小編這里使用正則的方式提取資料,提取詳情頁面的地址以及標題,用來保存圖片起名字,獲取到進入詳情頁面的地址后對地址發送請求,詳情頁面的資料也分為很多的頁面,每個頁面有好幾張圖片,需要對網址進行拼接,構造出新的地址資訊,

for i in range(1, int(page_num[0]) + 1):
if i == 1:
new_url = info_url
else:
new_url = info_url.replace('.html', f'_{i}.html')
# print(new_url)
jpg_data = requests.get(new_url, headers=headers).content.decode('gbk')
請求之后提取出所有的圖片地址在對圖片地址發送請求,保存資料大功告成!!
簡易原始碼分享
import requests
import re
?
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
for i in range(1, 20):
url = 'https://www.xxxx.com/guoneimeinv/list_5_{}.html'.format(i)
response = requests.get(url, headers=headers)
# print(response.content.decode('gbk'))
# 提取想要的資料資訊
data_list = re.findall('</a> </li><li><a href="(.*?)" class="pic" target="_Blank" alt="(.*?)">', response.content.decode('gbk'))
# print(data_list)
num = 0
for info_url, title in data_list:
# print(info_url)
# print(title)
res = requests.get(info_url, headers=headers).content.decode('gbk')
# print(res)
page_num = re.findall('<li><a>共(.*?)頁: </a></li><li>', res)
# print(page_num)
?
for i in range(1, int(page_num[0]) + 1):
if i == 1:
new_url = info_url
else:
new_url = info_url.replace('.html', f'_{i}.html')
# print(new_url)
jpg_data = requests.get(new_url, headers=headers).content.decode('gbk')
# print(jpg_data)
jpg_url_list = re.findall('<p align="center"><img src="(.*?)" /></p><br/>', jpg_data)
# print(jpg_url_list)
for jgp_url in jpg_url_list:
result = requests.get(jgp_url, headers=headers).content
f = open('1000圖庫/' + title + "-" + str(num) + ".jpg", 'wb')
f.write(result)
num += 1
print(f"正在下載{title}第{num}張")
👇🏻 疑難解答、學習資料、路線圖可通過搜索下方 👇🏻
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/354616.html
標籤:其他
上一篇:JSP實作大學生綜合素質測評系統
下一篇:Linux知識小結
