li1234567980

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)) + \'\')

声明:以上所有用到的网站仅用于学习,有侵权请联系删除

分类:

技术点:

相关文章: