基于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删除文本中行数标签的方法
May 31 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python支付宝支付示例详解
Aug 22 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
python 计算积分图和haar特征的实例代码
Nov 20 Python
Python中bisect的使用方法
Dec 31 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python中requests做接口测试的方法
May 30 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
DOMXML函数笔记
2006/10/09 PHP
Smarty安装配置方法
2008/04/10 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
PHP中多维数组的foreach遍历示例
2014/06/13 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
vue做网页开场视频的实例代码
2017/10/20 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
python 数据的清理行为实例详解
2017/07/12 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python线程中同步锁详解
2018/04/27 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
博朗(Braun)俄罗斯官方商店:德国小家电品牌
2019/09/24 全球购物
幼儿园中秋节活动反思
2014/02/16 职场文书
利群广告词
2014/03/20 职场文书
个人投资计划书
2014/05/01 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
同学聚会感言一句话
2015/07/30 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
table不让td文字溢出操作方法
2022/12/24 HTML / CSS