基于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发送邮件示例(支持中文邮件标题)
Feb 16 Python
python多重继承实例
Oct 11 Python
Python搜索引擎实现原理和方法
Nov 27 Python
Python实现的端口扫描功能示例
Apr 08 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
解决python线程卡死的问题
Feb 18 Python
python 默认参数相关知识详解
Sep 18 Python
Python实现变声器功能(萝莉音御姐音)
Dec 05 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
pyqt5蒙版遮罩mask,setmask的使用
Jun 11 Python
python中%格式表达式实例用法
Jun 18 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 高手之路(三)
2006/10/09 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
javascript插入样式实现代码
2012/02/22 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
Python 机器学习库 NumPy入门教程
2018/04/19 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
Python中Unittest框架的具体使用
2019/08/27 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
考试退步检讨书
2014/01/15 职场文书
三八节主持词
2014/03/17 职场文书
校庆活动方案
2014/03/31 职场文书
英文演讲稿
2014/05/15 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
罚站检讨书
2015/01/29 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
消夏晚会主持词
2015/06/30 职场文书
python spilt()分隔字符串的实现示例
2021/05/21 Python
用Python将GIF动图分解成多张静态图片
2021/06/11 Python