Python静态网页爬取:批量获取高清壁纸
前言
在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤
一般地,我们去网上批量打开壁纸的时候一般操作如下:
1、打开壁纸网页
2、单击壁纸图(打开指定壁纸的页面)
3、选择分辨率(我们要下载高清的图)
4、保存图片
实际操作时,我们实现了如下几步网页地址的访问:打开了壁纸的网页→单击壁纸图打开指定页面→选择分辨率,点击后打开最终保存目标图片网页→保存图片
在爬虫的过程中我们就尝试通过模拟浏览器打开网页的操作,一步步获得、访问网页、最后获得目标图片的下载地址,对图片进行下载保存到指定路径中
*这些中间过程中网页的一些具体筛选条件的构造,需要打开指定页面的源代码去观察和寻找包含有目的链接的标签
具体实现项目与注释
这里我只想获得一些指定的图片,所以我先在网页上搜索“长门有希”,打开了一个搜索结果页面,发现在这个页面上就已经包含了同类型的其他壁纸链接,于是我一开始就把最初访问的目的地址设置为这个搜索结果页面
目标结果页面截图:
图中下标为"1/29"."2/29"为其他同类型目标壁纸,通过点击这些图片我们可以打开新的目标下载图片页面
这里我们查看一下网页源代码
图中黄色底的地方就是打开这些同类壁纸的目的地址(访问的时候需要加上前缀"http://desk.zol.com.cn")
现在我们可以尝试实现构建爬虫:
打开指定页面→筛选获得所有长门有希壁纸的目标下载页面链接
代码如下:
获得地址以后我们可以通过获取地址→打开指定页面→选择分辨率→获得目的下载地址→保存到本地指定路径中
在测试的时候我输出了一下上一步truelist中保存的内容
可以看到保存的只是一个后缀,在访问的时候我们需要加上一个指定的前缀
实现代码如下(注释见代码):
最后可以在自己的目标文件夹中看到爬下来的图片集~
Python静态网页爬取:批量获取高清壁纸的更多相关文章
- python 爬取王者荣耀高清壁纸
代码地址如下:http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...
- Python爬虫教程-爬取5K分辨率超清唯美壁纸源码
简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁 ...
- python动态网页爬取——四六级成绩批量爬取
需求: 四六级成绩查询网站我所知道的有两个:学信网(http://www.chsi.com.cn/cet/)和99宿舍(http://cet.99sushe.com/),这两个网站采用的都是动态网页. ...
- Python 利用 BeautifulSoup 爬取网站获取新闻流
0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup: ...
- Python爬虫-爬取科比职业生涯高清图集
前面学习了Python爬取豆瓣电影Top250的数据,爬取的信息是电影信息的文本信息,但是在互联网上流行的图片才有更大的吸引力,本篇我们来使用python爬取网页上的图片并保存在本地硬盘上,很兴奋吧, ...
- Spider_实践_beautifulsoup静态网页爬取所有网页链接
# 获取百度网站首页上的所有a标签里的 href属性值: # import requests # from bs4 import BeautifulSoup # # html = requests.g ...
- Spider--实战--bs静态网页爬取TOP250电影
import requests from bs4 import BeautifulSoup def gettop250(): headers={ 'user-agent':'Mozilla/5.0 ( ...
- 别人用钱,而我用python爬虫爬取了一年的4K高清壁纸
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
随机推荐
- jenkins定位GitLab推送的最新Webhook中push event来自哪一个分支
转载请标明出处:http://www.cnblogs.com/zblade/ 一.调研目的 jenkins可以和GitLab搭档,每当GitLab上有commit的时候,都可以触发jenkins执行相 ...
- 补习系列(17)-springboot mongodb 内嵌数据库
目录 简介 一.使用 flapdoodle.embed.mongo A. 引入依赖 B. 准备测试类 C. 完善配置 D. 启动测试 细节 二.使用Fongo A. 引入框架 B. 准备测试类 C.业 ...
- 博主新建Linux学习交流群,欢迎广大大神入驻~
一转眼2018已经过去,博主在博客园辛勤耕耘了1年多,也结识了很多志同道合的道友: 收获了“基”情满满的友谊的同时,也大大拓宽了自己的眼界~ 深深感到在漫漫的学习之路,需要有道友一同共勉和相互激励! ...
- .Net Core 根据配置文件动态发布至服务器
前言 一个软件的开发周期需要经历开发.测试.上线三个基本的阶段,同理我们在开发过程中会需要经常切换不同的运行环境..NetCore可以通过配置文件以及写入系统环境变量来自动识别站点的运行环境,保证了数 ...
- PHPStorm中对nodejs项目进行单元测试
安装必要的包 nodejs的单元测试最常用的是使用mocha包.首先确保你本地安装nodejs,之后安装mocha包. npm install mocha -g 然后还需要安装相关的断言工具,Node ...
- SVN安装和使用(简单版)
为什么使用SVN? 通常软件的开发需要团队协作开发,每个人负责一个方面,都做完后需要把每个人的代码整合在一起,而每个人的代码方面不同或版本不同就会拖延开发进度对开发项目造成麻烦,如果一个人需要另一个人 ...
- .NET开发中基础问题,CODE First AND DB First(大牛自动忽略,小白可以看一下)
最近在做一个新项目开发时,碰到了下面这个问题.在使用EF时,提示错误信息 To continue using Database First or Model First ensure that the ...
- 使用 DotNet CLI 创建自定义的 WPF 项目模板
描述 当我们安装完 DotNetCore 3.0 版本的 SDK 后,我们就可以创建基于 DotNetCore 的 WPF 项目模板,通过如下 CLI 可以方便快捷的创建并运行我们的项目: dotne ...
- 代理模式 PROXY Surrogate 结构型 设计模式(十四)
代理模式 PROXY 别名Surrogate 意图 为其他的对象提供一种代理以控制对这个对象的访问. 代理模式含义比较清晰,就是中间人,中介公司,经纪人... 在计算机程序中,代理就表示一个客户端不想 ...
- 解决Geoserver请求跨域的几种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景描述 跨域问题是浏览器同源安全制引起的特别常见的问题.不同前端语 ...