python手机壁纸高清_python爬取手机壁纸

news/2024/10/21 17:22:35/

最近学习lxml库,拿一个普通的手机壁纸网站练手,现将具体操作过程记录下来,一来可以达到记录的作用,二来也希望能和大家多交流,提高自己的代码能力。

第一步:导入需要的库表采用requests库进行页面抓取;

采用lxml解析页面;

采用urllib.request中urlretrieve对图片进行下载导入的python库

第二步:采用requests库进行页面抓取;

1.构建请求头构建请求头,目的是将爬虫隐藏成一个浏览器爬虫,虽然这个网站并不会因为没有反爬,但是养成良好的习惯总归是好的

2.爬取页面response为一个类文件,而content为bytes类型,为了方便我们查看,需要采用decode进行解码

第三步:采用lxml解析html网页

1.上一步中html有时候可能并非严格的html网页格式,因此采用etree.HTML()对文本进行修正

2.采用lxml解析器解析网页需要爬取的网站页面

谷歌浏览器F12

ctrl+F,然后输入巴黎看到【巴黎】出现在class=egeli_pic_li的div中,继续分析可以看到图片信息均在class=egeli_pic_li的div中获取子孙节点中所有class=egeli_pic_li的div节点

定义列表用以保存图片网址和图片说明这里同时可以考虑采用字典格式保存

获取图片网址和说明xpath解析结果是以列表个数返回,.//img/@src代表在div下的img子孙节点中src的属性信息,用以获取图片网址

第三步:采用urllib.request库中urlretrieve函数进行图片下载urlretrieve()函数的用法爬取结果

##导入需要的库表

import requests

from lxml import etree

from urllib.request import urlretrieve

##首先构建请求头

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',

'Referer':'手机壁纸_锁屏壁纸_高清_背景图片_手机壁纸大全-回车桌面'

}

url = 'https://sj.enterdesk.com/2.html'

response = requests.get(url,headers=headers)

html = response.content.decode('utf-8')

##采用lxml解析html网页

##担心html格式问题,所以先采用etree.HTML()对文本进行修正

html = etree.HTML(html)

##通过查看图片网址,得出网页在class=egeli_pic_li的div中

##采用lxml.Xpath进行解析

divs = html.xpath("//div[@class='egeli_pic_li']")

##考虑下如何采用字典进行保存

pic_urls = []

pic_titles = []

for div in divs:

#print(etree.tostring(div,encoding='utf-8').decode('utf-8'))

src = div.xpath(".//img/@src")[0]

pic_urls.append(src)

title = div.xpath(".//img/@title")[0]

pic_titles.append(title)

print(pic_urls)

print(pic_titles)

i=0

##采用urllib.request库中urlretrieve函数进行图片下载

for pic_url in pic_urls:

urlretrieve(pic_url,"C:\\Users\\HUAWEI\\Desktop\\爬取信息\\"+ str(pic_titles[i])+".jpg")

i=i +1

代码比较简单,还差整合一下,构建一个网站生成函数,可以做到批量下载图片。


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

相关文章

GooglePhoto设置壁纸----壁纸裁剪界面配置

背景描述: Google photo打开一张图片,点击设为、弹出提示框里选择photo,提示“发生错误,无法加载媒体”。 error,could not load media 问题分析 1、对比机同样操作,可以打开壁纸应用设置壁纸 2、其它对比机&#xf…

android国外壁纸app,4K Wallpapers,火遍全球的4K高清壁纸App,谷歌市场1300万好评!...

下载壁纸的渠道有很多,可以上网站,也能直接在软件应用中下载。 在应用方面,趣哥推过的主力软件是“搜图神器”,资源非常全面,虽然是手机App但涵盖的壁纸资源适用于各个场景; 手机壁纸,电脑壁纸&…

分享一款 Google Pixel 2 独家动态壁纸

今天主要给大家分享一款,我认为非常漂亮的手机壁纸给大家。Google为 Google Pixel 2 打造了一款非常炫酷的动态体验壁纸 。Google团队以 Google Earth 为基础,通过高清卫星图和 3D 建模生成非常漂亮的动态壁纸。 谷歌团队设计完成后,直接将这…

如何在Linux c/c++ 进行多播(组播)编程

第一章: 前言 多播技术,也被称为“组播”,是一种网络通信机制,它允许一个节点(发送者)向一组特定的节点(接收者)发送信息。这种方式在网络编程中非常有用,因为它可以大大提高效率和…

【嵌入式系统应用开发】FPGA——基于HC-SR04超声波测距

文章目录 前言环境目标结果 1 实验原理1.1 超声波原理1.2 硬件模块时序图1.3 模块说明 2 设计文件2.1 时钟分频2.2 超声波测距2.3 超声波驱动 3 实验验证3.1 编译3.3 硬件测试 总结 前言 环境 硬件 DE2-115 HC-SR04超声波传感器软件 Quartus 18.1 目标结果 使用DE2-115开发…

基于Spring Boot的学生志愿者管理系统的设计与实现

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对学生志愿者管理等问题,对学生…

MAC OS 应用推荐

MAC OS 应用推荐 有很多好的工具,但是收费很贵,真的用不起; 用盗版不太建议,其他还有一些替代方案。 一. 数据库客户端工具 1. DBeaver社区版(免费) 支持多系统,mac、windows。通过添加不通…

CleanMyMac X真正好用的Mac电脑系统优化软件应用工具

最用户友好的Mac问题修复程序。删除系统垃圾、不需要的应用程序和恶意软件,并调整您的Mac以获得最高速度。对于速度较慢的计算机,CleanMyMac就能立即使用。 CleanMyMac2023之所以能够获得众多Mac的老用户们的喜爱,是因为其有着非常强大功能提…