基于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 ZipFile模块详解
Nov 01 Python
Python删除windows垃圾文件的方法
Jul 14 Python
一步步解析Python斗牛游戏的概率
Feb 12 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
python for和else语句趣谈
Jul 02 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
np.dot()函数的用法详解
Jan 17 Python
python解释器安装教程的方法步骤
Jul 02 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
python属于哪种语言
Aug 16 Python
python基本算法之实现归并排序(Merge sort)
Sep 01 Python
Python使用pandas导入csv文件内容的示例代码
Dec 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
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
JS前端加密算法示例
2016/12/22 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
Python爬虫实现模拟点击动态页面
2020/03/05 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
业绩考核岗位职责
2014/02/01 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
公司领导班子召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
皇城相府导游词
2015/02/06 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers