基于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 06 Python
python自动化测试之setUp与tearDown实例
Sep 28 Python
Python中logging模块的用法实例
Sep 29 Python
python实现TCP服务器端与客户端的方法详解
Apr 30 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python环形单链表的约瑟夫问题详解
Sep 27 Python
在mac下查找python包存放路径site-packages的实现方法
Nov 06 Python
python使用xlrd模块读取xlsx文件中的ip方法
Jan 11 Python
Django项目使用CircleCI的方法示例
Jul 14 Python
Django Rest framework频率原理与限制
Jul 26 Python
python urllib和urllib3知识点总结
Feb 08 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 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
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
2015/01/06 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
2016/05/05 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
python模块导入的方法
2019/10/24 Python
Django静态文件加载失败解决方案
2020/08/26 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
建筑设计所实习生自我鉴定
2013/09/25 职场文书
平面设计的岗位职责
2013/11/08 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
校园新闻广播稿
2014/01/10 职场文书
实习老师离校感言
2014/02/03 职场文书
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
诉讼授权委托书
2014/10/15 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
2015年护士节活动总结
2015/02/10 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
初二数学教学反思
2016/02/17 职场文书
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
springboot中rabbitmq实现消息可靠性机制详解
2021/09/25 Java/Android
springboot读取resources下文件的方式详解
2022/06/21 Java/Android