基于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 相关文章推荐
Windows下安装python2.7及科学计算套装
Mar 05 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
Python玩转加密的技巧【推荐】
May 13 Python
解决Django连接db遇到的问题
Aug 29 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
python中Lambda表达式详解
Nov 20 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
Python-openpyxl表格读取写入的案例详解
Nov 02 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
python 爬取吉首大学网站成绩单
Jun 02 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边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
2018/05/12 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
页面使用密码保护代码
2013/04/10 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python图像灰度变换及图像数组操作
2016/01/27 Python
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
Python有序字典简单实现方法示例
2017/09/28 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
python复合条件下的字典排序
2020/12/18 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
厨房工作人员岗位职责
2013/11/15 职场文书
预备党员党课思想汇报
2014/01/13 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2015年化验室工作总结
2015/04/23 职场文书
校友会致辞
2015/07/30 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS