python爬取ZOL壁纸,并批量下载到本地

news/2024/11/23 9:27:10/

声明:仅供参考、学习。

爬取地址:http://desk.zol.com.cn/dongwu/1920x1080/
爬取页码:1-2页
存储位置:D盘根目录

运行条件:电脑安装python 3.0+

代码:

from urllib import request,error
import re
url = "http://desk.zol.com.cn/dongwu/1920x1200/"
urls = []urls.append(url)
for i in range(2,2):urls.append(url + "%r.html" % i)
###########################获取每张壁纸的页面########################
for url in urls:try:response = request.urlopen(url)         #打开页面byte_html = response.read()             #此时的html是'byte'类型html =str(byte_html)                    #转换成字符串pattern = re.compile(r'<a.*? href="(.*?)".*?>.*?</a>')imglist = re.findall(pattern,html)      #匹配<a>标签中的href地址truelist= []for item in imglist:if re.match(r'^\/bizhi\/',item):truelist.append(item)except error.HTTPError as e:print(e.reason)except error.URLError as e:print(e.reason)except:pass
#########################对每张壁纸, 获取其地址并下载到本地################################
x = 0
for wall_pager_page in truelist :print('-' * 40)print(wall_pager_page)url1 = "http://desk.zol.com.cn" + wall_pager_pageresponse1 = request.urlopen(url1)byte_html1 = response1.read()html1 = str(byte_html1)pattern1 = re.compile(r'<a.*?id="1920x1080" href="(.*?)".*?>.*?</a>')urllist = re.findall(pattern1,html1)print('url1:'+urllist[0])html2 = str(request.urlopen("http://desk.zol.com.cn"+urllist[0]).read())pattern2 = re.compile(r'<img.*? src="(.*?)"')wallpageurl = re.findall(pattern2,html2)print(wallpageurl[0])request.urlretrieve(wallpageurl[0],"D:/%r.jpg" % x)x += 1

执行结果:
在这里插入图片描述

保存的图片:
在这里插入图片描述


http://www.ppmy.cn/news/205954.html

相关文章

Python网络爬虫小试刀——抓取ZOL桌面壁纸图片3

前篇回顾&#xff1a;下载一个类型集合的全部图片 本篇目标&#xff1a;获得一个集合页面中所有集合中所有的图片 使用urllib2获取已知集合网页页面的HTML代码&#xff0c;首先使用正则表达式获取本页图片集合的url&#xff0c;根据上篇所写戏在图片集合的函数 def getImgAssem…

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

Python运用urllib2和BeautifulSoup爬取网站ZOL桌面壁纸上的精美电脑壁纸 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2017/7/28 13:00 # File : SpyImg.py""" 爬取壁纸 """from bs4 import BeautifulSoup import urllib2 i…

Python网络爬虫小试刀——抓取ZOL桌面壁纸图片4

前篇回顾&#xff1a;获得一个类型集合页面中所有集合中的图片 本篇目标&#xff1a;获取整个网站所有类型集合的壁纸图片 使用urllib2&#xff0c;正则表达式&#xff0c;threading等高效下载网站’http://desk.zol.com.cn‘中壁纸图片。 使用urllib2获取url &#xff1d; …

PHP7新特性详细介绍(一)

一、标量类型与返回值类型声明 标量类型声明 标量类型声明有两种模式&#xff1a; 1、强制模式 2、严格模式 declare(strict_types1); 代码中通过指定 strict_types的值&#xff08;1或者0&#xff09;&#xff0c;1表示严格类型校验模式&#xff0c;作用于函数调用和返回语…

【深入浅出Spring Security(五)】自定义过滤器进行前后端登录认证

自定义过滤器 一、自定义过滤器自定义登录认证过滤器自定义 LoginFilter配置 LoginFilter测试 二、总结 一、自定义过滤器 在【深入浅出Spring Security&#xff08;二&#xff09;】Spring Security的实现原理 中小编阐述了默认加载的过滤器&#xff0c;里面有些过滤器有时并…

Golang vs Rust ——服务端编程应该选择哪种语言

为服务端编程选择一种语言应该基于你的长期目标和项目的要求&#xff0c;因此&#xff0c;盲目地问我应该雇用 Go 开发人员还是应该选择 Rust 进行开发并不能帮助你解决问题。 然而&#xff0c;如果你发现自己陷入了困境&#xff0c;那么这篇文章将为你解惑。下面让我们开始吧…

nornir

1、安装依赖 pip install -r requirements.txt 2、安装python虚拟环境 a、安装虚拟环境 pip3 install virtualenv b、安装虚拟环境管理工具 pip3 install virtualenvwrapper c、在家目录下创建隐藏目录 .virtualenvs&#xff0c;所有虚拟环境都放在此目录下 cd ~ mkdir .virtu…

ARNOR

ARNOR 链接: 数据集 提取码: 6cgu 1.一 论文导读2.二 论文精读3.三 代码实现4.四 问题思索 《ARNOR&#xff1a;Attention Regularization based Noise Reduction for Distant Supervision Relation Classification》 —基于注意力正则化的ARNOR框架 作者&#xff1a;Wei jia…