前言

在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤

一般地,我们去网上批量打开壁纸的时候一般操作如下:

1、打开壁纸网页

2、单击壁纸图(打开指定壁纸的页面)

3、选择分辨率(我们要下载高清的图)

4、保存图片

实际操作时,我们实现了如下几步网页地址的访问:打开了壁纸的网页→单击壁纸图打开指定页面→选择分辨率,点击后打开最终保存目标图片网页→保存图片

在爬虫的过程中我们就尝试通过模拟浏览器打开网页的操作,一步步获得、访问网页、最后获得目标图片的下载地址,对图片进行下载保存到指定路径中

*这些中间过程中网页的一些具体筛选条件的构造,需要打开指定页面的源代码去观察和寻找包含有目的链接的标签

具体实现项目与注释

这里我只想获得一些指定的图片,所以我先在网页上搜索“长门有希”,打开了一个搜索结果页面,发现在这个页面上就已经包含了同类型的其他壁纸链接,于是我一开始就把最初访问的目的地址设置为这个搜索结果页面

目标结果页面截图:

 

图中下标为"1/29"."2/29"为其他同类型目标壁纸,通过点击这些图片我们可以打开新的目标下载图片页面

这里我们查看一下网页源代码

 

图中黄色底的地方就是打开这些同类壁纸的目的地址(访问的时候需要加上前缀"http://desk.zol.com.cn")

现在我们可以尝试实现构建爬虫:

打开指定页面→筛选获得所有长门有希壁纸的目标下载页面链接

代码如下:

 

获得地址以后我们可以通过获取地址→打开指定页面→选择分辨率→获得目的下载地址→保存到本地指定路径中

在测试的时候我输出了一下上一步truelist中保存的内容

 

可以看到保存的只是一个后缀,在访问的时候我们需要加上一个指定的前缀

实现代码如下(注释见代码):

 

最后可以在自己的目标文件夹中看到爬下来的图片集~

 

Python静态网页爬取:批量获取高清壁纸的更多相关文章

  1. python 爬取王者荣耀高清壁纸

    代码地址如下:http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...

  2. Python爬虫教程-爬取5K分辨率超清唯美壁纸源码

    简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁 ...

  3. python动态网页爬取——四六级成绩批量爬取

    需求: 四六级成绩查询网站我所知道的有两个:学信网(http://www.chsi.com.cn/cet/)和99宿舍(http://cet.99sushe.com/),这两个网站采用的都是动态网页. ...

  4. Python 利用 BeautifulSoup 爬取网站获取新闻流

    0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup:   ...

  5. Python爬虫-爬取科比职业生涯高清图集

    前面学习了Python爬取豆瓣电影Top250的数据,爬取的信息是电影信息的文本信息,但是在互联网上流行的图片才有更大的吸引力,本篇我们来使用python爬取网页上的图片并保存在本地硬盘上,很兴奋吧, ...

  6. Spider_实践_beautifulsoup静态网页爬取所有网页链接

    # 获取百度网站首页上的所有a标签里的 href属性值: # import requests # from bs4 import BeautifulSoup # # html = requests.g ...

  7. Spider--实战--bs静态网页爬取TOP250电影

    import requests from bs4 import BeautifulSoup def gettop250(): headers={ 'user-agent':'Mozilla/5.0 ( ...

  8. 别人用钱,而我用python爬虫爬取了一年的4K高清壁纸

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

  9. [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

    [python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...

随机推荐

  1. 把ABP框架部署到Docker中

    本文旨在将Abp项目部署到Docker容器中,借助Gitee存储,Jenkins持续构建,利用Docker Compose生成镜像.启动镜像,在官网给定的Abp项目中,虽然用到了Dockerfile. ...

  2. js 实现 复制 功能 (zeroclipboard)

    #复制功能因访问权限和安全问题, 被浏览器禁了# 我要实现的功能:点击复制按钮,复制浏览器的当前页面地址,加上用户选择的参数(用户查找过滤),直接将该链接发给别人,点击打开就是对应的查找结果而不是默认 ...

  3. 从PRISM开始学WPF(六)MVVM(二)Command-更新至Prism7.1

    命令绑定(Command) [7.1updated]这一节除了基础app部分,并没有什么变化 什么是Command? 先看下微软官方的说明: Commanding is an input mechan ...

  4. 第一节: dingo/API 最新版 V2.0 之安装讲解(连载)

    我发现关于dingo/API V2.0的资料少之又少,应该也是发布时间不久的原因.下面,我就来给大家讲解(翻译)下官方的英文文档,如果有说的不对的地方,请指正.先附上,官网wiki地址https:// ...

  5. Spring Cloud Alibaba基础教程:Sentinel使用Apollo存储规则

    上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则.Apollo是国内用户非常多的配置中心,所以,今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储 ...

  6. c++随机排序容器中的元素

    在各种程序语言中都提供了将容器元素随机排序的shuffle方法,c++也不例外. 不过c++将shuffle放在了<algorithm>中而不是像其他语言一样在random里,同时c++1 ...

  7. Python3中列表字符串转数字

    比如我们有个列表: number = [']; 如果我们需要将列表里的元素转换为数字呢?最常用的大家可能会想到使用列表推导式: number = ['] number = [int(x) for x ...

  8. Vue-zTree

    在vue中引入zTree,和引入其他组件类似,首先在main.js里将以下3个js引入: import "./js/jquery-3.3.1.min.js";import &quo ...

  9. 【转】Redis一般会遇到的问题以及解析

    单线程的 Redis 为什么这么快 这个问题是对 Redis 内部机制的一个考察.根据我的面试经验,很多人都不知道Redis 是单线程工作模型.所以,这个问题还是应该要复习一下的. 回答主要是以下三点 ...

  10. Spring Tool Suite4(sts)复制粘贴卡顿(ctrl+v, ctrl+c)、按住ctrl也很卡

    最近在看<Spring in Action, Fifth Edition>,下载了Spring Tool Suite4,在使用的过程中发现了一些问题: 只要在复制粘贴(ctrl+c, ct ...