Python爬虫入门实战项目——彼岸图网
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫入门实战项目——彼岸图网
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注意:本次爬蟲僅為入門實戰,爬取對象為彼岸圖網,爬取圖的分辨率大概都為1202✖️676
本次爬取采用的是requests+BeautifulSoup
1.爬取結果(話不多說,上圖)
以上只是兩張圖片,更多就不一一放出來了。代碼中只是爬取了4頁圖片,小伙伴們可以爬取更多內容。
第一頁所有詳情頁圖片如下
2.網頁查看
彼岸圖網:http://pic.netbian.com/
可以看見,如下有著很多頁數的圖片,待會我們會實現多頁爬取功能
不同頁數的請求鏈接分析
另外,由于當前頁中的圖片分辨率沒有其詳情頁(也就是點擊圖片進去的頁面)分辨率高,
所以咋們還是獲取詳情頁中圖片比較好一點。話不多說,咋們直接上代碼分析
3、完整代碼及注釋分析
代碼如下:
import requests
from bs4 import BeautifulSoup
import os
# 請求頭信息
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"
}
# 找到并保存圖片
def download(path, data):
# 參考圖片輔助分析——圖1,之后我就直接說參考圖幾了,小伙伴們注意點嘍
ul = data.find(class_="slist").find_all("li")
# 遍歷li標簽
for li in ul:
# 使用BeautifulSoup進行解析
li_data = BeautifulSoup(str(li), "html.parser")
# 參考圖2
# 詳情頁url,注意獲取的url不是全路徑,我們還要拼接下前面的域名
page_url = "http://pic.netbian.com/" + li_data.find("a")['href']
# 圖片名稱
title = li_data.find("img")['alt']
# 對詳情頁發起請求
page_data = requests.get(url=page_url, headers=headers)
# 解析
response_data = BeautifulSoup(page_data.text, "html.parser")
# 獲取詳情頁圖片url,參考圖3,注意拼接域名
img_url = "http://pic.netbian.com" + response_data.find(class_="photo-pic").find("img")['src']
# 對圖片URL發起請求 注意: .content使用二進制數據,不使用就會報錯
img_res = requests.get(url=img_url, headers=headers).content
# 保存圖片
with open(path + "/" + title + ".jpg", "wb") as f:
print("正在保存:" + title)
f.write(img_res)
# 開始
if __name__ == '__main__':
# 定義保存文件夾路徑
path = "./圖片"
# 如果不存在
if not os.path.exists(path):
# 創建該文件夾
os.mkdir(path)
# 多頁爬取,這里爬取的是4頁
for i in range(1, 5):
# 這里我們做精細一點,再對圖片進行不同頁數的區分
data_path = path + "/" + str(i)
if not os.path.exists(data_path):
os.mkdir(data_path)
# 第一頁比較特殊,我們進行if判斷
if i == 1:
url = "http://pic.netbian.com/index.html"
else:
#其他的頁數直接拼接就好,注意 i 要為str類型
url = "http://pic.netbian.com/index_" + str(i) + ".html"
# 發起請求
response = requests.get(url=url, headers=headers)
# 注意設置編碼,不然都是一堆亂碼
response.encoding = 'gbk'
# 使用BeautifulSoup進行解析
data = BeautifulSoup(response.text, "html.parser")
# 將保存路徑和請求后的數據傳給 download
download(data_path, data)
4.圖片輔助分析
圖1
圖2
圖3
5.運行結果:
參考:https://blog.csdn.net/llllllkkkkkooooo/article/details/108545141
總結
以上是生活随笔為你收集整理的Python爬虫入门实战项目——彼岸图网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP CRM text determi
- 下一篇: open a BP will trigg