基于python實(shí)現(xiàn)獲取網(wǎng)頁圖片過程解析
環(huán)境:python3, 要安裝bs4這個(gè)第三方庫
獲取請(qǐng)求頭的方法
這里使用的是Chrome瀏覽器。
打開你想查詢的網(wǎng)站,按F12,或者鼠標(biāo)右鍵一下選擇檢查。會(huì)彈出如下的審查元素頁面:
然后點(diǎn)擊上方選項(xiàng)中的Network選項(xiàng):
此時(shí)在按Ctrl+R:
選擇下方框中的第一個(gè),單擊:
選擇Headers選項(xiàng),其中就會(huì)有Request Headers,包括你需要的信息。
介紹:這個(gè)程序是用來批量獲取網(wǎng)頁的圖片,用于新手入門
注意:由于是入門的程序在獲取某些網(wǎng)頁的圖片時(shí)會(huì)出問題!!!!!
import osimport urllib.requestfrom bs4 import BeautifulSoup# 網(wǎng)址url = 'http://www2017.tyut.edu.cn/'# 建立請(qǐng)求對(duì)象request = urllib.request.Request(url)# 加入請(qǐng)求頭(一定要換成自己的!!!!)request.add_header(’User-Agent’, ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36’)# 獲取請(qǐng)求code = urllib.request.urlopen(request)# 得到html代碼html = code.read().decode(’utf-8’)# 將html的標(biāo)簽轉(zhuǎn)成對(duì)象(方便后面的操作)bs = BeautifulSoup(html, ’html.parser’)# 提取所有的img標(biāo)簽imagesUrl = bs.find_all(’img’)sources = []# 建立存放的路徑(路徑一定要存在!!!!!!)filepath = os.getcwd() + ’images’def createFile(path: str, fpath): urllib.request.urlretrieve(path, fpath)# 獲取圖片的路徑(網(wǎng)址+img標(biāo)簽的src屬性的值)for img in imagesUrl: sources.append(url + str(img.get(’src’)))for src in sources: # 用split是防止請(qǐng)求帶參 baseName = os.path.basename(src).split(’?’) # 圖片名 fileName = filepath + baseName[0] print('url=' + src, 'filename=' + fileName) createFile(src, fileName)print(’這次您一共下載了圖片’ + str(len(sources)) + ’張’)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python獲取抖音關(guān)注列表封號(hào)賬號(hào)的實(shí)現(xiàn)代碼2. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問題分析3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. 解決Python 進(jìn)程池Pool中一些坑5. php測試程序運(yùn)行速度和頁面執(zhí)行速度的代碼6. Python如何讀寫CSV文件7. 三個(gè)不常見的 HTML5 實(shí)用新特性簡介8. ajax請(qǐng)求添加自定義header參數(shù)代碼9. python利用os模塊編寫文件復(fù)制功能——copy()函數(shù)用法10. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁
