首页 > 编程语言 > 详细

python获取网页的图片

时间:2020-05-08 23:14:20      阅读:66      评论:0      收藏:0      [点我收藏+]

获取请求头的方法:(转)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)) + )

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

python获取网页的图片

原文:https://www.cnblogs.com/li1234567980/p/12853173.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!