网站图片下载 Python
生活随笔
收集整理的這篇文章主要介紹了
网站图片下载 Python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import threading
import requests
from lxml import etree as et
import os# 請求頭
headers = {# 用戶代理'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}# 待抓取網頁基地址
base_url = 'https://www.23jj.com/'
# 保存圖片基本路徑
base_dir = 'D:/python/code/aixjj/'# 保存圖片
def savePic(pic_url, page):# 如果目錄不存在,則新建if not os.path.exists(base_dir):os.makedirs(base_dir)# 分解符號 ['http:', '', 'img.23jj.com', 'image', '32', '3273', '0_236.jpg']arr = pic_url.split('/')# -1表示倒數第一個元素 -2 表示倒數第二個元素file_name = base_dir + str(page) + '_' + arr[-2] + arr[-1]print(file_name)# 獲取圖片內容response = requests.get(pic_url, headers=headers)# 寫入圖片# with expression as target:# expression:是一個需要執行的表達式;# target:是一個變量或者元組,存儲的是expression表達式執行返回的結果,可選參數。# 打開文件with open(file_name, 'wb') as fp:# 利用Respose對象的iter_content()方法循環,在每次迭代中調用write(),將內容寫入該文件for data in response.iter_content(128):fp.write(data)# 觀察此網站總共只有62頁,所以循環62次
def download(k):# 請求頁面地址url = base_url + str(k)# 請求頁面內容response = requests.get(url=url, headers=headers)# 請求狀態碼code = response.status_codeif code == 200:# etree.HTML()可以用來解析字符串格式的HTML文檔對象,將傳進去的字符串轉變成_Element對象。作為_Element對象,# 可以方便的使用getparent()、remove()、xpath()等方法。html = et.HTML(response.text)# 獲取頁面所有圖片地址r = html.xpath('//li/a/img/@src')# 遍歷圖片地址for pic_url in r:a = 'http:' + pic_urlsavePic(a, k)print('第%d頁圖片下載完成' % k)# 創建線程
for i in range(1, 63):threading.Thread(target=download, args=(i,)).start()
?
?
總結
以上是生活随笔為你收集整理的网站图片下载 Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DropDownList设置选定项,设置
- 下一篇: asp.net后台代码动态添加JS文件和