Python运用Xpath爬取故宫壁纸
实现爬取分辨率一致的壁纸
- Python运用Xpath爬取故宫壁纸
- 1.关于获取"User-Agent"
- 2.关于获取图片的名称
- 3.关于获取图片的地址
- 3.1 在预览壁纸的网页里获取图片的位置信息
- 3.2 获取图片下载地址信息
- 4.获取下一页的网址信息
- 5.结果展示
- 6.代码
Python运用Xpath爬取故宫壁纸
网址: link.
1.关于获取"User-Agent"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/86.0.4240.193 ''Safari/537.36 '
}
2.关于获取图片的名称
//*[@id="lights"]/div[2]/div/h3/text()
3.关于获取图片的地址
3.1 在预览壁纸的网页里获取图片的位置信息
//div[@class = 'pic']//@href
3.2 获取图片下载地址信息
//img[@style ='visibility: visible;width: 100%;']/@src
爬取图片下载的网址
4.获取下一页的网址信息
5.结果展示
6.代码
import requests
from lxml import etree
# 读写文件
import os
# 进程
from multiprocessing import Processheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/86.0.4240.193 ''Safari/537.36 '
}def Down_Images(url, image_title):response_images = requests.get(url, headers=headers).text# print(response_images)html1 = etree.HTML(response_images)image_data = html1.xpath("//img[@style ='visibility: visible;width: 100%;']/@src")# print(image_data[0])image_url = requests.get(image_data[0], headers=headers)p0 = image_titlep2 = image_data# print(p1)# print(p2[0])url = p2[0]# 下载png图片放到./壁纸/文件夹里面data = requests.get(url, headers=headers).contentprint(p0 + " " + url)p = str(p0)# 将文件夹路径传入img_path = "./壁纸/"if not os.path.exists(img_path):os.makedirs('./壁纸/')else:if '\t' not in p:f = open(img_path + p + ".png", "wb")f.write(data)f.close()else:f = open(img_path + p.replace('\t', "One") + ".png", "wb")f.write(data)f.close()def Get_URL(page):url = 'https://www.dpm.org.cn/lights/royal/p/' + str(page) + '.html'response_data = requests.get(url, headers=headers)html = etree.HTML(response_data.content.decode('utf-8', 'ignore'))images_coup = html.xpath("//div[@class = 'pic']//@href")image_title = html.xpath('//*[@id="lights"]/div[2]/div/h3/text()')n = 0for i in images_coup:url_image = "https://www.dpm.org.cn" + iDown_Images(url_image, image_title[n])n += 1if __name__ == '__main__':# 创建一个进程# Process(指向->函数,函数的参数)for i in range(1, 10):# 后面这个参数是一个元祖p1 = Process(target=Get_URL, args=(i,))# 运行进程p1.start()# 等待进程结束p1.join()
Python运用Xpath爬取故宫壁纸相关推荐
- xpath爬取手机壁纸
xpath爬取实例 文章目录 系列文章目录 前言 一.模块导入 二.示例 1.单图爬取 2.多图爬取 总结 前言 提示:这里可以添加本文要记录的大概内容: 本节主要介绍在学习过程中掌握的爬取图片的简单 ...
- python爬虫实例--爬取电脑壁纸
目录 前言 一.用到的工具 二.爬取步骤与过程 1.用到的库 2.解析代码 三.最后上全部的代码啦 最后感悟 前言 听说好的编程习惯是从写文章敲代码开始的,下面给大家介绍一个简单的python爬取图片 ...
- python用xpath爬取10页网站图片
#爬取网站图片 import requests from lxml import etree import osi=0 #计数 #请求头 headers={"User-Agent" ...
- python使用XPATH爬取电影票房
爬取电影票房前50(网票) # coding:utf-8 # 获取电影票房排行榜前五十 __Author__ = 'Negoo_wen' import requests from lxml impor ...
- python使用xpath爬取网页数据
from lxml import etree # from fake_useragent import UserAgent import requests from lxml import etree ...
- Python爬取wallhaven壁纸 2023.1.31
Python爬取wallhaven壁纸 壁纸页面 前言 源码 壁纸页面 前言 学习中,未加多线程,由于网站.图片大小等因素导致下载缓慢 望各位大神提出建议并加以修善 网站主页及其爬取页如下,可自行修改 ...
- Python爬虫:Xpath爬取网页信息(附代码)
Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...
- 用Python爬取手机壁纸,太简单了吧
用Python爬取手机壁纸,太简单了吧! 人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的 ...
- Python【爬虫实战】爬取美女壁纸资源
Python[爬虫实战]爬取美女壁纸资源 一:首先选取一个网站,这里我们选择了一个壁纸网站 二:进入网站,我们可以看到很多图片放在一页里 三:按下F12开发者工具,点击Elments查看网页的代码 四 ...
- Python爬虫-爬取wallhaven壁纸
Python爬虫-爬取wallhaven壁纸 前言 可行性分析 功能介绍 效果展示 基本思路 1.获取每页(1页24张)壁纸的url 2.获取每张壁纸缩略图的url 3.获取壁纸原图下载的url 4. ...
最新文章
- 安装vsftpd-3.0.2.tar.gz源码
- C语言用指针求两个矩阵的差,求破C语言用指针和函数求转置矩阵
- jQuery效果之滑动
- 处理测试环境硬盘爆满
- Chrome Workspace开发者调试工具
- es6 Proxy.revocable()方法
- 使用requests通过代码实现接口测试自动化
- F1-VmwareCentOS7.x
- WIN7系统怎样增加C盘空间
- overflow 属性
- 多个JVM之间,能否共用同样的类?
- Java 面试学习指南
- Halcon匹配助手
- linux添加驱动模块,Linux驱动模块添加
- AppleTV相关使用教程
- BDL語法知識 变量的初始话
- Visio 2010、2013中找不到“拆分”,“联合”,“相交”等开发工具
- 计算机专业平均年龄,平均年龄27.07岁 去年23万人才“涌入”深圳
- 中国科学技术大学计算机专业排名,2019中国科学技术大学专业排名
- 使用oracle语句实现年龄的分段统计