基于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 ftp上传文件
Feb 13 Python
python语言使用技巧分享
May 31 Python
pandas 透视表中文字段排序方法
Nov 16 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
对pytorch中的梯度更新方法详解
Aug 20 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
python实现的Iou与Giou代码
Jan 18 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 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
文章推荐系统(二)
2006/10/09 PHP
php生成缩略图的类代码
2008/10/02 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php字符串函数学习之substr()
2015/03/27 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
JQuery toggle使用分析
2009/11/16 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
Javascript刷新窗口方法小结
2015/10/21 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
2017/02/24 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
npm的lock机制解析
2019/06/20 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python实现windows下文件备份脚本
2018/05/27 Python
python实现点对点聊天程序
2018/07/28 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python 动态绘制爱心的示例
2020/09/27 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
一道SQL面试题
2012/12/31 面试题
房屋转让协议书
2014/04/11 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书