1、下载网页:OpenHtml.py

import urllib.request
from urllib.parse import quoteclass HtmlLoader(object):def Open(self, chaper_url):if chaper_url is None:return Noneheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}req = urllib.request.Request(url=chaper_url, headers=headers)response = urllib.request.urlopen(req)if response.getcode() != 200:return Nonereturn response.read()

2、解析图片:ImageAnalysis.py

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import OpenHtml
from urllib.parse import quote
import lxml.htmlclass Imager:def Analysis(self,url):# 解决中文搜索问题 对于:?=不进行转义root_url = quote(url, safe='/:?=')openhtml=OpenHtml.HtmlLoader()html = openhtml.Open(url)# 将HTML解析为统一的格式tree = lxml.html.fromstring(html)#  通过lxml的xpath获取src属性的值,返回一个列表img = tree.xpath('//img[@class="BDE_Image"]/@src')return  img

3、下载图片:LoadFile.py

import urllib.request as reclass Loader:def callback(self,a,b,c):'''回调函数可以用来显示进度@a:已经下载的数据块个数@b:数据块的大小@c:远程文件的大小'''per=100.0*a*b/cif per>100:per=100print('%.2f%%' % per)def Down(self, url, filename):# dir = os.path.abspath('.')# work_path = os.path.join(dir, 'baidu.html')re.urlretrieve(url, filename, self.callback)

4、启动文件,即测试文件main.py

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#!/usr/bin/env python
# coding=utf-8import ImageAnalysis
import LoadFiledef downimge():# url = "http://www.btany.com/search/桃谷绘里香-first-asc-1"url = "https://tieba.baidu.com/p/5475267611"imganalysis=ImageAnalysis.Imager()img=imganalysis.Analysis(url)# 迭代列表img,将图片保存在当前目录下x=0download=LoadFile.Loader()for i in img:download.Down(i, 'C:\\Users\\luffy\\Desktop\\img\\%s.jpg' % x)x += 1if __name__ == '__main__':downimge()# download = LoadFile.Loader()# download.Down('http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2', 'C:\\Users\\luffy\\Desktop\\img\\Python-2.7.5.tar.bz2')

urllib模块提供的urlretrieve()函数。urlretrieve()方法直接将远程数据下载到本地。

urlretrieve(url, filename=None, reporthook=None, data=None)

  • 参数filename指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
  • 参数reporthook是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
  • 参数data指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头

Python加lxml实现图片解析下载功能相关推荐

  1. python怎么加载图片-怎样用python加载dicom图片

    用python加载dicom图片的方法:使用pydicom.CV2.numpy.matplotlib等库即可.pydicom库是专门用来处理dicom图像的python专用库. python读取DIC ...

  2. 爬虫python下载-如何用Python爬虫实现百度图片自动下载?

    制作爬虫的步骤 制作一个爬虫一般分以下几个步骤: 分析需求 分析网页源代码,配合开发者工具 编写正则表达式或者XPath表达式 正式编写 python 爬虫代码 效果预览 运行效果如下: 存放图片的文 ...

  3. [python]爬取百度图片批量下载数据集

    如题,用python写的爬虫代码脚本,好用至极 这里推荐:机器学习必备的5个脚本工具详解,包括图像抓取,图像的增强,批处理等操作. 收藏保存 import requests import re fro ...

  4. 【Python】利用Python爬虫实现网页图片批量下载

    本文爬取的是豆瓣的网站,爬虫有规则,爬虫需谨慎.文章末附效果图 源码下载地址:https://github.com/Seichung/Python/blob/master/Python_Practic ...

  5. python画动漫图片_python下载动漫图片

    如何用python写一个爬虫,下载某论坛的动漫图片 实现过程 获取网页内容 import urllib.request import re import json def getHttpStatusC ...

  6. python 加干扰线 图片生成_用Python一键生成炫酷九宫格图片,火了朋友圈

    作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修能力,才能得到一张张达到女友要求的图片,真心不容易啊- 朋 ...

  7. python爬虫 分页获取图片并下载

    --刚接触python2天,想快速上手,就写了个爬虫,写完之后,成就感暴增,用起来顺手多了. 1.源码 #coding=utf-8 import urllib import re class Page ...

  8. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...

  9. 如何给照片加边框?图片加边框的3个实用方法

    分享3个良心好用的照片加相框工具,个个都是操作简单,还提供了丰富好看的边框模板,瞬间让照片变得有质感,大家可以根据自己的需求选择对应的工具进行添加. 1.改图鸭 一个免费的图片处理网站,提供几十种图片 ...

最新文章

  1. js实现图片上传本地预览
  2. c语言太极图编程语言,利用C语言的Cairo图形库绘制太极图实例教程.pdf
  3. VTK:颜色顶点标签用法实战
  4. Go 语言基础(一)
  5. windows消息机制详解-3
  6. 【转】linux之fsck命令
  7. 【算法系列之六】两整数之和
  8. python中scrapy是什么_python中Scrapy数据流是什么
  9. 小米pro15拆机_小米笔记本拆解
  10. Linux下pgadmin4启动报错,在CentOS 7/Fedora 29系统上安装配置pgAdmin 4的方法
  11. java中前加加++和后加加++的详解
  12. Windows10(MSN)天气数据爬取
  13. 梯度,雅克比矩阵和海森矩阵
  14. 苹果手机signin_苹果iphone弹出sign in to itunes store怎么办
  15. 2017青岛网络赛 C - The Dominator of Strings(AC自动机)
  16. 欢乐颂之鸿蒙系统,化神前辈传要诀 《镇魔曲》鸿蒙指引全新上线
  17. java nurbs几何库_OpenGL超级宝典笔记——NURBS与曲面细分
  18. 中国各城市首轮感染高峰期预测!(最新更新版)
  19. bigemap地图下载器 好用吗?
  20. uva10859放置街灯(树形dp)

热门文章

  1. 08-CSS基础-体验CSS
  2. java读取InputStream输入流后输出String字符串
  3. Android SQLite (三 ) 全面详解(一)
  4. HTML学习笔记——选择器
  5. 【博客话题】感谢您,我的老师
  6. win7xp双系统引导修复工具
  7. 运行Google CTemplate首页的例子遇到_CrtIsValidHeapPointer异常
  8. pgsql 前10条_白沙湾南片区11条新建道路最新进度及建成时间,已建成一条!还有一条将通车...
  9. LSMW批处理使用方法(05)_步骤3下
  10. 41、Power Query-Text.Combine函数进阶2