有时候我们不想让电脑桌面过于单调,于是琢磨着能不能让电脑每天自动获取网站上的图片然后更换为壁纸,这就需要一个壁纸爬虫了,这里以3G壁纸为例。

首先,还是喜闻乐见的导入模块,在这个爬虫中,我们需要以下模块:requests和etree中的lxml

import requests
from lxml import etree

先构造一个headers作为伪装

headers = {'Cookie': 'Hm_lvt_c8263f264e5db13b29b03baeb1840f60=1632291839,1632373348; Hm_lpvt_c8263f264e5db13b29b03baeb1840f60=163','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari'}

之后,提供url网页文件,response负责保存resquests方法获取的网页源码,html则是保存response再次解码后的文本代码,href_list和title_list保存经xpath方法提取出来的元素。

    url = f'https://www.3gbizhi.com/meinv/xgmn_{i}.html'response = requests.get(url, headers=headers)html = etree.HTML(response.text)href_list = html.xpath('//div[@class="contlistw mtw"]//ul[@class="cl"]/li/a/@href')title_list = html.xpath('//div[@class="contlistw mtw"]//ul[@class="cl"]/li/a/@title')

接下来的第一个FOR循环是对提取出来的元素进行再次筛选,第二个FOR循环则是将提取好的图片链接转为字符串形式写入文件夹

    for href, title in zip(href_list, title_list):res = requests.get(href, headers=headers)html_data = etree.HTML(res.text)img_url_list = html_data.xpath('//div[@class="picimglist pos"]/ul/li/a/img/@src')print(img_url_list)num = 0for img_url in img_url_list:img_url = ''.join(img_url.split('thumb_200_0_'))result = requests.get(img_url, headers=headers).contentwith open('spider_pic/妹子/' + title + str(num) + '.jpg', 'wb')as f:f.write(result)num += 1

运行PY文件,可以看到图片已经存入了文件夹

“21天好习惯”第一期- 4 简单的壁纸爬虫相关推荐

  1. “21天好习惯“第一期--4

    "21天好习惯"-第四天 每天记录一点点 计算机的诞生与发展 冯·诺依曼体系 计算机系统作为一个能够自动地处理信息的智能化工具,必须解决好两个最基本的问题:①信息如何表示才能方便地 ...

  2. “21天好习惯” 第一期 - 18

    今天进一步探究昨天学习的strcmp()函数:         昨天学习strcmp()函数时提到了,当两个字符串相同时,输出0,不相同时,输出非零,那么当两个字符串不同时,具体会输出什么非零值呢?于 ...

  3. “21天好习惯”第一期——16

    <计算机组成原理> 第一章 概论 1.1.2 存储程序工作方式 存储程序是计算机的核心内容,表明了计算机的工作方式,包含3个要点:事先编写程序,存储程序,自动.连续地执行程序. (1)根据 ...

  4. “21天好习惯”第一期——21

    <计算机组成原理> 3.5.2 MIPS32架构CPU基本的组成部件 3. 单周期控制系统设计 (2)ALU控制单元      ALU控制单元接收两种输入:主控单元输出的m位aluop和指 ...

  5. “21天好习惯“第一期——2

    道友们好,今天是学习的第二天,经过一天的学习我又了解到了很多有关C语言的知识,我也会和大家继续分享我的学习笔记,以及在学习中遇到的问题. 请大家看看下面这个程序: 今天的学习就到此为止,希望大家可以向 ...

  6. “21天好习惯”第一期——2

    今天学习的内容是3.3.2--算术逻辑单元. 继续昨天的学习的内容进一步学习了ALU: ALU的外部特性与功能: ALU的标志位: ALU的EDA设计模式: 学习中遇到的问题主要是ALU的EDA设计模 ...

  7. “21天好习惯”第一期-第10天

    今天学会了一个猜数的程序,这个程序可以让计算机随机生成一个100以内的数,然后我们人来猜这个数是什么. #include<stdio.h> #include<stdlib.h> ...

  8. “21天好习惯“ 第九期—9:京东倒计时,淘宝倒计时

    "21天好习惯" 第九期 - 9 一.学习规划 1.计算机组成图谱绘画(应为知识导图)(10月25) 2.网络工程师备考(11月6) 3.信息知识竞赛(10月31) 二.所遇问题 ...

  9. 计算机组装电源线排,电脑装机小知识,机箱如何完美走线-做第一期的简单补充...

    原标题:电脑装机小知识,机箱如何完美走线-做第一期的简单补充 本期继续要讲的是,对于电脑里机箱走线,我已经做过一期对于电脑机箱走线的文章,还没有看过第一期的能够在本文末尾找到我的连接. 机箱走线欠妥会 ...

最新文章

  1. 无线分类新写法,是不是很吊@!
  2. Hierarchy视图里的Transform和Camera组件
  3. NewSQL——优化的SQL存储引擎(TokuDB, MemSQL)+?
  4. 数据库,唯一索引,重复数据处理
  5. 想找首歌来表达心情!
  6. Python数据分析实战项目-共享单车骑行数据分析
  7. 设计模式原则之里氏替换原则
  8. java 正規表示 group_经验分享|Java+百度AI实现人脸识别
  9. python屏幕文字识别_学会python就是如此任性,15行代码搞定图片文字识别,附源码...
  10. python列表去括号_python的常用序列
  11. 创新创业大讲堂第一讲
  12. AUTOCAD——标注关联
  13. 微信抢票——迭代周期一结束后感想
  14. (三)CGAL库应用:仿射变换(点的旋转、平移、放大)
  15. mysql on.000002_mysql | 同乐学堂
  16. FLutter web app 运行显示空白页
  17. 泰坦尼克号 机器学习_机器学习项目泰坦尼克号问题陈述
  18. css样式,中间文字,两边横线
  19. axios与拦截器的简单结合
  20. C是C++的子集吗?

热门文章

  1. 进程和现成相关知识积累查找
  2. 为什么软考高项考了很多次还没通过?
  3. 强化学习在智能补货场景的应用
  4. 世界时 年月日时分秒转GPST
  5. andriod软键盘搜索
  6. php mysql select联动,jQuery结合PHP+MySQL实现二级联动下拉列表[实例]_jquery
  7. Arduino人体红外热释传感器检测实验
  8. oracle32588,19c恢复 – 专业Oracle数据库恢复,或许是您恢复数据的最后机会@phone:13429648788 - 专业Oracle数据库恢复技术支持...
  9. oracle 存储过程中 truncate,procedure中truncate other schema’s table
  10. 计算机硕士生还用考博吗,考博与考研的区别(以计算机考博为例)