Python 爬取高清桌面壁纸
今天写了一个脚本用来爬取ZOL桌面壁纸网站的高清图片;
链接:http://desk.zol.com.cn/1920x1080/
本程序只爬了美女板块的图片,若要下载其他板块,只需修改程序中的”meinv“即可
代码如下:
#coding=utf-8
import urllib
import re
import time
class Spider:baseUrl='http://desk.zol.com.cn/'pic_index=0itemGroupPic=[]def __init__(self,page_count):time.sleep(1)url=self.baseUrl+"meinv/1920x1080/"for i in range(10, page_count):time.sleep(5)html=self.getHtml(url,i)getbi=self.getPageImageGroup(html) bizhi_url=self.getbizhiurlList(getbi)def getHtml(self,url,page_index):url=url+str(page_index)+".html"page = urllib.urlopen(url)html = page.read()return htmldef getPageImageGroup(self,html):reg=r'<a class="pic" href="/bizhi/.*?.html' imgre=re.compile(reg)imagelist=re.findall(imgre,html)return imagelistdef getbizhiurlList(self,imagelist):for iurl in imagelist:reg=r'bizhi/.*?.html' imgre=re.compile(reg)itmeimageurl=re.findall(imgre,iurl)self.itemGroupPic.append(itmeimageurl)def GetCurrentUrlAndDownload(self,url):page = urllib.urlopen(url)html = page.read() #read()出来的文本和网页右键源代码有点出入,这里需要优化reg=r'<img id="bigImg" src="http://.*.jpg"' imgre=re.compile(reg)urllist=re.findall(imgre,html)for _u in urllist:reg1=r'http://.*.jpg' imgre1=re.compile(reg1)itmeimageurl=re.findall(imgre1,_u)print u'正在下载'+str(self.pic_index)+u'图片'#D:\PictureAvi目录要事先创建好urllib.urlretrieve(itmeimageurl[0],'D:\PictureAvi\%s.jpg' % self.pic_index)self.pic_index+=1#获取当前页面的url,next_htmlnext_reg=r'<a id="pageNext" class="next" href=".*.html"' next_imgre=re.compile(next_reg)next_urllist=re.findall(next_imgre,html)if(len(next_urllist)==0):return ""#获取真正的next_htmlnext_reg_child=r'bizhi.*?.html' next_imgre_child=re.compile(next_reg_child)real_url=re.findall(next_imgre_child,next_urllist[0])return real_url[0]def MatchUrl(self,imagelist):for imgurl in imagelist:url=self.baseUrl+imgurl[0]next_url=self.GetCurrentUrlAndDownload(url)#递归获取下一个urlwhile(next_url != ''):_itme_next_url=self.baseUrl+next_urlnext_url=self.GetCurrentUrlAndDownload(_itme_next_url)if __name__ == '__main__':spider = Spider(15)spider.MatchUrl(spider.itemGroupPic)print u'结束下载'
运行结果如下:
运行环境是py2.7,原理很简单,并没有用到类似scrapy这样的框架,也没用什么动态获取
1.通过urllib获取网页源代码
2.找到规律,通过正则表达式找到url
3.用urllib下载到本地文件
未完待续。。。。。
Python 爬取高清桌面壁纸相关推荐
- Python爬取高清桌面壁纸(附源码),直接运行即可
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 深雾 转载地址 https://blog.c ...
- python手机壁纸超清_Python 爬取高清桌面壁纸
今天写了一个脚本用来爬取ZOL桌面壁纸网站的高清图片: 本程序只爬了美女板块的图片,若要下载其他板块,只需修改程序中的"meinv"即可 代码如下: #coding=utf-8 i ...
- python1080p壁纸高清图片_Python爬取高清桌面壁纸(附源码),直接运行即可
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 深雾 转载地址 https://blog.c ...
- Python爬取高清无版权美图
前言 做公众号,总是会需要使用一些图片做封面或背景.我的公众号的图片有两种来源:一是通过创可贴自己动手修改下就可以用了,还一种就是在网上下载图片. 那如何下载高清并且可以供使用(无版权)的图片了?我是 ...
- python代码壁纸-Python爬取高清壁纸
需要准备的东西: 用到的环境:python3.7 用到的ide:pycharm 用到的库 time.BeautifulSoup.requests 本次的目标: 下载几百张海贼王的高清壁纸 练习爬虫 分 ...
- Python爬取高质量电脑壁纸,还是很好看的
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...
- python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...
本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...
- python3爬虫之使用Scrapy框架爬取英雄联盟高清桌面壁纸
使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowyme/loldesk 开始项目前需要安装python3和Scrapy,不会的自行百度,这里就不具 ...
- Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸
Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Ti ...
最新文章
- webpack 项目使用--转换为React项目(4)
- 零基础Java学习之包(Package)
- 解决延迟有 Wi-Fi 6 就够了!
- java运算符 —(5)
- 青茶什么时候拆_为什么日本绿茶那么绿?比中国的高级绿茶还要绿
- (转) Oracle性能优化-读懂执行计划
- 微型计算机接口技术与汇编语言课后答案
- 【作业5】了解在什么岗位上有哪些语言需要使用
- Linux shell 字符串转数字进行运算符操作
- Image Upload based on jQuery
- Entity Framework6使用SQL Server Compact免安装部署
- FreeFileSync - 最佳免费开源文件夹同步备份软件 (FTP/局域网/移动硬盘)
- jmeter-正则表达式提取器
- java mybatis (批量) 插入实体报多个问号
- Digital Twin 数字孪生 工业4.0 SCADA 物联网
- SpringBoot----即时聊天(webSocket)
- pg_buffercache
- processing实现图像碎片化
- 正则表达式 - 自动生成器
- SVN之enable-auto-props自动化属性
热门文章
- Extending GitHub
- 数据可视化之Echarts
- 怎么在备忘录上记事,手机备忘录app哪个好用?
- mysql的终端窗口是什么意思_什么叫终端窗口
- iOS动画之【添加商品到购物车】:将商品图片icon 移动到购物车iocn的位置
- 【AI大模型】国产360大模型智脑大模型介绍
- 新手站长如何选择虚拟主机商
- r如何查询mysql中的数据类型_MySQL数据类型 - osc_mgt0rm0m的个人空间 - OSCHINA - 中文开源技术交流社区...
- 自动驾驶规划控制(A*、pure pursuit、LQR算法,使用c++在ubuntu和ros环境下实现)
- CentOS 8 单用户模式更改root密码