基于python實(shí)現(xiàn)獲取網(wǎng)頁圖片過程解析
環(huán)境:python3, 要安裝bs4這個(gè)第三方庫
獲取請求頭的方法
這里使用的是Chrome瀏覽器。
打開你想查詢的網(wǎng)站,按F12,或者鼠標(biāo)右鍵一下選擇檢查。會彈出如下的審查元素頁面:
然后點(diǎn)擊上方選項(xiàng)中的Network選項(xiàng):
此時(shí)在按Ctrl+R:
選擇下方框中的第一個(gè),單擊:
選擇Headers選項(xiàng),其中就會有Request Headers,包括你需要的信息。
介紹:這個(gè)程序是用來批量獲取網(wǎng)頁的圖片,用于新手入門
注意:由于是入門的程序在獲取某些網(wǎng)頁的圖片時(shí)會出問題!!!!!
import osimport urllib.requestfrom bs4 import BeautifulSoup# 網(wǎng)址url = 'http://www2017.tyut.edu.cn/'# 建立請求對象request = urllib.request.Request(url)# 加入請求頭(一定要換成自己的!!!!)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’)# 獲取請求code = urllib.request.urlopen(request)# 得到html代碼html = code.read().decode(’utf-8’)# 將html的標(biāo)簽轉(zhuǎn)成對象(方便后面的操作)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是防止請求帶參 baseName = os.path.basename(src).split(’?’) # 圖片名 fileName = filepath + baseName[0] print('url=' + src, 'filename=' + fileName) createFile(src, fileName)print(’這次您一共下載了圖片’ + str(len(sources)) + ’張’)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 一文秒懂idea的git插件跟翻譯插件2. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法3. docker compose idea CreateProcess error=2 系統(tǒng)找不到指定的文件的問題4. Python語言規(guī)范之Pylint的詳細(xì)用法5. layui Ajax請求給下拉框賦值的實(shí)例6. XML入門的常見問題(四)7. JS中的常見數(shù)組遍歷案例詳解(forEach, map, filter, sort, reduce, every)8. python中pandas.read_csv()函數(shù)的深入講解9. python爬蟲利用代理池更換IP的方法步驟10. 使用FormData進(jìn)行Ajax請求上傳文件的實(shí)例代碼
