今天写了一个脚本用来爬取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 爬取高清桌面壁纸相关推荐

  1. Python爬取高清桌面壁纸(附源码),直接运行即可

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 深雾 转载地址 https://blog.c ...

  2. python手机壁纸超清_Python 爬取高清桌面壁纸

    今天写了一个脚本用来爬取ZOL桌面壁纸网站的高清图片: 本程序只爬了美女板块的图片,若要下载其他板块,只需修改程序中的"meinv"即可 代码如下: #coding=utf-8 i ...

  3. python1080p壁纸高清图片_Python爬取高清桌面壁纸(附源码),直接运行即可

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于云+社区,作者 深雾 转载地址 https://blog.c ...

  4. Python爬取高清无版权美图

    前言 做公众号,总是会需要使用一些图片做封面或背景.我的公众号的图片有两种来源:一是通过创可贴自己动手修改下就可以用了,还一种就是在网上下载图片. 那如何下载高清并且可以供使用(无版权)的图片了?我是 ...

  5. python代码壁纸-Python爬取高清壁纸

    需要准备的东西: 用到的环境:python3.7 用到的ide:pycharm 用到的库 time.BeautifulSoup.requests 本次的目标: 下载几百张海贼王的高清壁纸 练习爬虫 分 ...

  6. Python爬取高质量电脑壁纸,还是很好看的

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  7. python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...

    本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...

  8. python3爬虫之使用Scrapy框架爬取英雄联盟高清桌面壁纸

    使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowyme/loldesk 开始项目前需要安装python3和Scrapy,不会的自行百度,这里就不具 ...

  9. Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸

    Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Ti ...

最新文章

  1. webpack 项目使用--转换为React项目(4)
  2. 零基础Java学习之包(Package)
  3. 解决延迟有 Wi-Fi 6 就够了!
  4. java运算符 —(5)
  5. 青茶什么时候拆_为什么日本绿茶那么绿?比中国的高级绿茶还要绿
  6. (转) Oracle性能优化-读懂执行计划
  7. 微型计算机接口技术与汇编语言课后答案
  8. 【作业5】了解在什么岗位上有哪些语言需要使用
  9. Linux shell 字符串转数字进行运算符操作
  10. Image Upload based on jQuery
  11. Entity Framework6使用SQL Server Compact免安装部署
  12. FreeFileSync - 最佳免费开源文件夹同步备份软件 (FTP/局域网/移动硬盘)
  13. jmeter-正则表达式提取器
  14. java mybatis (批量) 插入实体报多个问号
  15. Digital Twin 数字孪生 工业4.0 SCADA 物联网
  16. SpringBoot----即时聊天(webSocket)
  17. pg_buffercache
  18. processing实现图像碎片化
  19. 正则表达式 - 自动生成器
  20. SVN之enable-auto-props自动化属性

热门文章

  1. Extending GitHub
  2. 数据可视化之Echarts
  3. 怎么在备忘录上记事,手机备忘录app哪个好用?
  4. mysql的终端窗口是什么意思_什么叫终端窗口
  5. iOS动画之【添加商品到购物车】:将商品图片icon 移动到购物车iocn的位置
  6. 【AI大模型】国产360大模型智脑大模型介绍
  7. 新手站长如何选择虚拟主机商
  8. r如何查询mysql中的数据类型_MySQL数据类型 - osc_mgt0rm0m的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 自动驾驶规划控制(A*、pure pursuit、LQR算法,使用c++在ubuntu和ros环境下实现)
  10. CentOS 8 单用户模式更改root密码