python獲取網頁的圖片


獲取請求頭的方法:(轉)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)) + '')

聲明:以上所有用到的網站僅用於學習,有侵權請聯系刪除


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM