基于python实现获取网页图片过程解析
环境:python3, 要安装bs4这个第三方库
获取请求头的方法
这里使用的是Chrome浏览器。
打开你想查询的网站,按F12,或者鼠标右键一下选择检查。会弹出如下的审查元素页面:
然后点击上方选项中的Network选项:
此时在按Ctrl+R:
选择下方框中的第一个,单击:
选择Headers选项,其中就会有Request Headers,包括你需要的信息。
介绍:这个程序是用来批量获取网页的图片,用于新手入门
注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!!
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实现获取网页图片过程解析 的全部内容, 来源链接: utcz.com/z/341721.html