基于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操作Word批量生成文章的方法
Jul 28 Python
Python读大数据txt
Mar 28 Python
python数据类型_字符串常用操作(详解)
May 30 Python
Python微信库:itchat的用法详解
Aug 14 Python
python表格存取的方法
Mar 07 Python
python实现整数的二进制循环移位
Mar 08 Python
python 批量修改 labelImg 生成的xml文件的方法
Sep 09 Python
Pytorch 数据加载与数据预处理方式
Dec 31 Python
python实现tail -f 功能
Jan 17 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
在keras中实现查看其训练loss值
Jun 16 Python
python开发飞机大战游戏
Jul 15 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
基于mysql的论坛(1)
2006/10/09 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
django+mysql的使用示例
2018/11/23 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
python -v 报错问题的解决方法
2020/09/15 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
项目经理岗位职责
2013/11/11 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
年度考核个人总结
2015/03/06 职场文书
结婚典礼致辞
2015/07/28 职场文书
2019销售早会主持词
2019/06/27 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
MySQL查询日期时间
2022/05/15 MySQL