獲取請求頭的方法:(轉)https://blog.csdn.net/qq_41516463/article/details/88670991
環境:python3, 要安裝bs4這個第三方庫
介紹:這個程序是用來批量獲取網頁的圖片,用於新手入門
注意:由於是入門的程序在獲取某些網頁的圖片時會出問題!!!!!
import os import urllib.request from bs4 import BeautifulSoup # 網址 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的標簽轉成對象(方便后面的操作) bs = BeautifulSoup(html, 'html.parser') # 提取所有的img標簽 imagesUrl = bs.find_all('img') sources = [] # 建立存放的路徑(路徑一定要存在!!!!!!) filepath = os.getcwd() + '\\images\\' def createFile(path: str, fpath): urllib.request.urlretrieve(path, fpath) # 獲取圖片的路徑(網址+img標簽的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)) + '張')
聲明:以上所有用到的網站僅用於學習,有侵權請聯系刪除