基于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 (1)
Oct 31 Python
利用Python演示数型数据结构的教程
Apr 03 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 Python
在Django中创建动态视图的教程
Jul 15 Python
Python实现多线程抓取妹子图
Aug 08 Python
python实现发送邮件功能代码
Dec 14 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
python爬虫爬取幽默笑话网站
Oct 24 Python
如何基于python实现归一化处理
Jan 20 Python
Python Selenium截图功能实现代码
Apr 26 Python
Python数据库封装实现代码示例解析
Sep 05 Python
Python3+Django get/post请求实现教程详解
Feb 16 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自动适应范围的分页代码
2008/08/05 PHP
linux命令之调试工具strace的深入分析
2013/06/03 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
js数组操作学习总结
2013/11/04 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
Python中的迭代器漫谈
2015/02/03 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
Python3 Random模块代码详解
2017/12/04 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
Python如何在DataFrame增加数值
2020/02/14 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
个人自我鉴定写法
2013/11/30 职场文书
森林防火工作方案
2014/02/14 职场文书
环保建议书400字
2014/05/14 职场文书
材料化学专业求职信
2014/07/15 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
民间个人借款协议书
2014/09/30 职场文书
财务人员岗位职责
2015/02/03 职场文书
超市店长竞聘书
2015/09/15 职场文书
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python