基于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环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
python检索特定内容的文本文件实例
Jun 05 Python
python实现机器学习之多元线性回归
Sep 06 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
python requests post多层字典的方法
Dec 27 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
利用Django模版生成树状结构实例代码
May 19 Python
pandas.cut具体使用总结
Jun 24 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python pip安装模块提示错误解决方案
May 22 Python
Python数据分析库pandas高级接口dt的使用详解
Dec 11 Python
python 中[0]*2与0*2的区别说明
May 10 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数据缓存技术
2007/02/14 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
JS 文件传参及处理技巧分析
2010/05/13 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
通过源码分析Python中的切片赋值
2017/05/08 Python
Python shelve模块实现解析
2019/08/28 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
倩碧英国官网:Clinique英国
2018/08/10 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
经贸日语专业个人求职信
2013/12/13 职场文书
十八届三中全会感言
2014/03/10 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
行政答辩状范文
2015/05/21 职场文书
疾病证明书
2015/06/19 职场文书
跳高加油稿
2015/07/21 职场文书
厉行节约工作总结
2015/08/12 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
Golang流模式之grpc的四种数据流
2022/04/13 Golang