基于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实现多线程的方式及多条命令并发执行
Jun 07 Python
Python递归函数定义与用法示例
Jun 02 Python
pycharm远程调试openstack代码
Nov 21 Python
对Python闭包与延迟绑定的方法详解
Jan 07 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
python 字符串追加实例
Jul 20 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
python字符串替换re.sub()实例解析
Feb 09 Python
将keras的h5模型转换为tensorflow的pb模型操作
May 25 Python
Python字符串及文本模式方法详解
Sep 10 Python
python 高阶函数简单介绍
Feb 19 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
了解PHP的返回引用和局部静态变量
2015/06/04 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
php生出随机字符串
2017/07/06 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
python 链接和操作 memcache方法
2017/03/04 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
windows下python和pip安装教程
2018/05/25 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
django中forms组件的使用与注意
2019/07/08 Python
python的等深分箱实例
2019/11/22 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
python中类与对象之间的关系详解
2020/12/16 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
企业承诺书格式
2014/05/21 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
烈士陵园观后感
2015/06/08 职场文书