基于python实现获取网页图片过程解析


Posted in Python onMay 11, 2020

环境:python3, 要安装bs4这个第三方库

获取请求头的方法

这里使用的是Chrome浏览器。

打开你想查询的网站,按F12,或者鼠标右键一下选择检查。会弹出如下的审查元素页面:

基于python实现获取网页图片过程解析

然后点击上方选项中的Network选项:

基于python实现获取网页图片过程解析

此时在按Ctrl+R:

基于python实现获取网页图片过程解析

选择下方框中的第一个,单击:

基于python实现获取网页图片过程解析

选择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 相关文章推荐
Python 流程控制实例代码
Sep 25 Python
在Python中操作列表之List.append()方法的使用
May 20 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
python进行两个表格对比的方法
Jun 27 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
Python模块汇总(常用第三方库)
Oct 07 Python
python 浅谈serial与stm32通信的编码问题
Dec 18 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
python将unicode和str互相转化的实现
May 11 #Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 #Python
Python urllib.request对象案例解析
May 11 #Python
python将dict中的unicode打印成中文实例
May 11 #Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 #Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 #Python
Python3自定义json逐层解析器代码
May 11 #Python
You might like
smarty模板引擎基础知识入门
2015/03/30 PHP
php实现将Session写入数据库
2015/07/26 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
详解Vue-cli 创建的项目如何跨域请求
2017/05/18 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
python中for语句简单遍历数据的方法
2015/05/07 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
python的json包位置及用法总结
2020/06/21 Python
详解Python yaml模块
2020/09/23 Python
python递归函数用法详解
2020/10/26 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
妇科医生自荐信
2013/11/05 职场文书
节水倡议书
2015/01/19 职场文书
企业介绍信范文
2015/01/30 职场文书
学习党章心得体会2016
2016/01/15 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript