Python59行代码爬取某站中秋节ppt模板

  • 网址:https://www.1ppt.com/moban/zhongqiujie/
  • 用到的库:requests、re、os、lxml
  • 请求方式:GET
  • 项目需求:将所有页模板下载到对应的文件夹中- 一共7页,分别将对应的模板下载到对应的文件夹中
    -代码如下:
import requests
import re
import os
from lxml import etreedef path_replace(path):"""路径分隔符转换"""after_path = path.replace("\\", "/")return after_pathdef pre(o_url, agent, encoding="utf-8"):"""预处理"""pre_response_data = requests.get(o_url, agent)pre_response_data.encoding = encodingpre_solve_data = etree.HTML(pre_response_data.text)return pre_solve_datadef create_directory(path, e_name):"""创建文件目录"""if not os.path.exists(path):os.mkdir(path)print(f"{e_name}目录 创建成功!")w_path = "F:\PycharmFiles\pachong\\first_ppt\saves\ppts\zhongqiu"
w_path = path_replace(w_path)
site = "https://www.1ppt.com/moban/zhongqiujie/"
ua_agent = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0"}
solve_data = pre(site, ua_agent, encoding='gbk')
page_data = solve_data.xpath("//a[text()='末页']/@href")
if page_data:page_str = page_data[0]total_page = re.findall("\d+", page_str)
else:total_page = 1
o_url = "https://www.1ppt.com/moban/zhongqiujie/ppt_zhongqiujie_"
page_hrefs = [o_url + str(page) + ".html" for page in list(range(2, int(total_page[0]) + 1))]
page_hrefs.insert(0, "https://www.1ppt.com/moban/zhongqiujie")
for page_href in page_hrefs:solve_data1 = pre(page_href, ua_agent, encoding='gbk')file_names = solve_data1.xpath("//ul[@class='tplist']/li/a/img/@alt")ppt_urls = solve_data1.xpath("//ul[@class='tplist']/li/a/@href")dict_datas = dict(zip(file_names, ppt_urls))for file_name, ppt_url in dict_datas.items():create_directory(w_path + "/" + file_name, file_name)ppt_url1 = "https://www.1ppt.com"solve_data2 = pre(ppt_url1 + ppt_url, ua_agent)download_urls = solve_data2.xpath("//ul[@class='downurllist']/li/a/@href")solve_data3 = pre(ppt_url1 + download_urls[0], ua_agent)end_urls = solve_data3.xpath("//li[@class='c1']/a/@href")ppt_zip = requests.get(end_urls[0], ua_agent).contents_path = w_path + "/" + file_name + "/" + end_urls[0].split('/')[-1]print(s_path)with open(s_path, 'wb') as f:f.write(ppt_zip)print(f"{file_name}文件下载成功啦!")

运行结果展示

结语

  • 至此,本次爬虫项目分享结束,欢迎各位道友批评指正,也欢迎小白交流讨论,因为我也是一个正在学习的小白。最后,如果觉得对您有用,盼请各位看官点赞收藏。

python59行代码爬取免费ppt模板相关推荐

  1. python爬取简历模板_python 爬取免费简历模板网站的示例

    代码 # 免费的简历模板进行爬取本地保存 # http://sc.chinaz.com/jianli/free.html # http://sc.chinaz.com/jianli/free_2.ht ...

  2. pyquery获取不到网页完整源代码_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

  3. Python爬虫利用18行代码爬取虎牙上百张小姐姐图片

    Python爬虫利用18行代码爬取虎牙上百张小姐姐图片 下面开始上代码 需要用到的库 import request #页面请求 import time #用于时间延迟 import re #正则表达式 ...

  4. python爬上市公司信息_实战项目 1:5 行代码爬取国内所有上市公司信息

    实战项目 1:5 行代码爬取国内所有上市公司信息 Python入门爬虫与数据分析 在正式开始这门专栏课的学习之前,我们先来看一个简单的爬虫案例.兴趣是最好的老师,当你对爬虫产生兴趣的时候,才会更有动力 ...

  5. 简单20行代码爬取王者荣耀官网1080p壁纸

    简单20行代码爬取王者荣耀官网1080p壁纸 # -*- coding: utf-8 -*- # @Time : 2020/12/13 18:08 # @Author : ningfangcong i ...

  6. Python25行代码爬取豆瓣排行榜数据

    Python25行代码爬取豆瓣排行榜数据 只需要用到requests, re ,csv 三个库即可. code import re import requests import csv url = ' ...

  7. python:利用20行代码爬取网络小说

    文章目录 前言 一.爬虫是什么? 二.实现过程 总结 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 今天,来给大家一个分享一下如何使用20爬虫行代码爬取网络小说(这里我们以龙 ...

  8. 教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!

    教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: sel ...

  9. python pyquery不规则数据的抓取_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

最新文章

  1. 2014年新鲜出炉的16款免费英文字体
  2. java实现泛型顺序栈
  3. linux软件安装卸载命令行
  4. Microsoft好员工的十个标准
  5. C# Zip解压缩,规避 [content_types].xml 文件
  6. 重构 阅读心得(转)
  7. ps图片放大后调整图片清晰度
  8. 华为云空间兑换码在哪里找_华为云空间在哪里找到
  9. uni-app--微信小程序自定义tabbar
  10. Windows系统中owner owned 关系和 parent child关系
  11. 以华为2016年笔试题为例,详解牛客网的在线判题系统(OJ模式)
  12. wampServer 设置
  13. 获取硬件序列号(注册机)
  14. C语言strcpy_s 和strncpy_s的用法,以及函数实现的方法
  15. flex-direction的默认值
  16. GSR-ISAC 05规避本振泄露
  17. java qq邮箱服务器端口_spring mail借助qq邮箱服务器发送邮件
  18. 大众点评自己店铺怎么删除
  19. linux 麦克风设备,Linux-创建虚拟麦克风和扬声器
  20. obs windows 编译 obs browser

热门文章

  1. Java Swing 飞机大战游戏
  2. 拥有计算机并以拨号方式上网的用户必须使用,2017年计算机一级考试模拟试题及答案「选择题」...
  3. 分布式智能微电网的建设方案与应用场景
  4. 阿里工业互联网平台“思考”:一场从0到1的蜕变
  5. 群控用于抖音有什么好处
  6. Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)
  7. 解读长城汽车2022年Q3财报:转型阵痛已显 但未来大有可为
  8. Linux系统中安装SQLServer
  9. 【第39篇】RepLKNet将内核扩展到 31x31:重新审视 CNN 中的大型内核设计
  10. Web 自动化下载及转换Word自动排版