python下载指定页面的所有图片
实现步骤:
1.下载页面源码
2.对页面进行解析,获取页面中所有的图片路径
3.下载图片到指定路径
代码实例:
# coding: utf-8 import urllib2 # 该模块用于打开页面地址 import urllib # 用于下载图片(为什么需要同时引进urllib和urllib2,请参考:https://www.cnblogs.com/wly923/archive/2013/05/07/3057122.html) import re # 用于正则表达式 import urlparse # 将src拼接成一个可以直接访问的图片地址 import os # 用于指定文件的保存地址 from bs4 import BeautifulSoup # 用于将文档转为固定编码文件,便于从网页抓取数据class Downloader(object):def html_download(self, url): # 页面源码下载if url is None:returnresponse = urllib2.urlopen(url)if response.getcode() != 200: # 判断页面是否访问成功returnhtml_cont = response.read()self.html_parse(url, html_cont)def html_parse(self, url, html_cont): # 源码解析,提取需要的数据img_urls = []if url is None or html_cont is None:returnsoup = BeautifulSoup(html_cont, 'html.parser', from_encoding='utf-8')imgs = soup.find_all('img', src=re.compile("/image/2017index/(.*)")) # 根据src得到所有的img标签for img in imgs:new_url = img['src'] # 获取所有的链接new_full_url = urlparse.urljoin(url, new_url) # 让new_url按照page_url的格式拼接成一个完整的url img_urls.append(new_full_url)self.img_download(img_urls)def img_download(self, img_urls): # 文件下载保存if img_urls is None or len(img_urls) == 0:print 'no img can download'returncur_path = os.path.abspath(os.curdir) # 获取当前绝对路径goal_path = cur_path + '\\' + 'imgs' # 想将文件保存的路径if not os.path.exists(goal_path): # os.path.isfile('test.txt') 判断文件夹/文件是否存在os.mkdir(goal_path) # 创建文件夹count = 1 # 用于给图片命名for img in img_urls:print imgurllib.urlretrieve(img, goal_path+'/'+str(count) + '.jpg') # 下载图片,并进行命名(刚开始写这句的时候老是报错,后来才发现没有用str()进行类型转换,因为习惯了js的自动转换的思想,哈哈)count = count+1if __name__ == '__main__': # 程序运行入口root_url = 'http://www.quanjing.com/' # 页面地址downloader = Downloader()downloader.html_download(root_url)
Bingo, 这样子就可以把一个页面所有的美女图片下载到你的硬盘上啦!
转载于:https://www.cnblogs.com/qilj/p/8194342.html
python下载指定页面的所有图片相关推荐
- python下载指定的版本包
首先我们很多时候在执行pip的时候是不行的 有时候很难成功,这个时候我们就要想其他的版本了 一.是不是这个包需要指定版本, 比如python2的和mysql链接的是,而python3则是mysqlc ...
- 【Python】Python下载动态页面图片
1.搭建Selenium环境: pip install selenium 到D:\python3.6.5\Lib\site-packages下把selenium文件夹复制到D:\python3.6.5 ...
- linux用命令下载图片,Linux命令行中采集指定页面的图片地址及图片下载
获取指定页面中的图片地址: curl news.baidu.com | grep -Eio '(http|ftp|https)://[A-Za-z0-9_./]+(.jpg|.png|.gif)' 复 ...
- 微信内打开的网页不能下载APP,微信无法打开浏览器访问指定页面的解决方案...
不管是app的下载链接还是普通文件的链接在微信内置浏览器或者QQ内置浏览器分享都会被拦截.这是腾讯对第三方下载域名实施的打压政策.被屏蔽了也就意味着链接在微信中是无法正常打开的,那么此时用户在微信内打 ...
- python小练——下载指定url中的图片
python小练--下载指定url中的图片 #coding=gbk #download pictures of the url #useage: python downpicture.py www.b ...
- Python读取指定文件夹中的所有图片并保存
事先说明:本文所有灵感来源于博客python读取文件夹下所有图片 在复现的基础之上作了一些修改,加入了一些自己的心得体会: 改进: 1.原博客要求所读取文件夹与python文件在同一目录下,这里进行了 ...
- python 批量下载指定时间段的邮箱附件
邮箱附件下载 在收到很多人发的邮件时,一个一个的接收附件比较麻烦,考虑使用python实现指定日期邮件附件的下载 首先需要开启邮箱的pop协议,一般在设置里,以QQ邮箱为例,设置后会给个密码,这个就是 ...
- Python之pip download 命令用法-下载指定平台和python版本的依赖包
简介 pip download 和 pip install 有着相同的解析和下载过程,不同的是,pip install 会安装依赖项,而 pip download 会把所有已下载的依赖项保存到指定的目 ...
- Python下载文件到指定文件夹
Python下载文件到指定文件夹 import os # 导入os库 import urllib.request # 导入urllib库 import requests as rb # 导入reque ...
最新文章
- springboot controller 分页查询_Spring Boot实战分页查询附近的人:Redis+GeoHash+Lua
- 无关技术,关于香港对我的影响
- 小程序开发语言python_小程序是用什么语言开发的?5种最佳语言分享
- SSD 因 NCQ hang,failed command: WRITE FPDMA QUEUED / tag 28 ncq 4096 out
- JavaScript符号基础
- youphp学习整理
- bzoj2260: 商店购物4349: 最小树形图
- 【渝粤教育】电大中专消费者心理学基础作业 题库
- java留言板论文开题报告_在线留言板毕业设计开题报告.doc
- android框架揭秘!连续四年百度Android岗必问面试题!实战篇
- Android TelephonyManager获取LET信息及手机基本信息
- 测试——web案例思维导图
- Aras Innovator: AML包
- Microsoft Edge浏览器网页改为纯黑色(将浏览器网页底色改为黑色)
- json数据和json数据与python之间的转换
- png背景变黑原理解析
- 【MySQL】多表查询策略(多表联查子查询)
- 用python祝福父亲节_2020年父亲节给爸爸的微信祝福语27条
- win10移动桌面到D盘
- 诺基亚结盟微软 称将全球范围大规模裁员
热门文章
- 【转】摩托罗拉推开源硬件平台计划Project Ara
- win10下pycharm+Qtdesigner+Pyqt 成功配置
- linux在线聊天报告,EChat: Linux下基于命令行的在线聊天系统
- 服务器在线看视频无法播放,上传到服务器的视频不能在线播放怎么办?
- “华尔街之狼”:预计BTC价格将反弹至10万美元
- Matcha已升级至0xV4版,比Uniswap和Sushi等平台节省4%的交易费
- Filecoin Gas基础费率升至5.06 nanoFIL
- 风控扫盲:巴塞尔下的分池与量化风控岗
- MySQL高级知识(十二)——全局查询日志
- AttributeError: 'Request' object has no attribute 'is_xhr' 报错的解决办法