吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2375|回复: 11
收起左侧

[Python 转载] 爬虫之历代版图保存及创建到ppt

[复制链接]
txq0211 发表于 2022-3-30 12:07
本帖最后由 txq0211 于 2022-3-30 12:15 编辑

在福利经验区看人在求历代地图矢量图。
百度一看,木有,倒是看的天涯这个各阶段98张图。
新手上路,做了个小爬虫,爬取这98张图,然后试着拓展下保存到ppt。
偷个懒,简单的步骤写在代码里面了。

如果不足之处,请各位指正。
先上图,代码在下面:

微信图片_20220330120043.png
微信图片_20220330120035.png
微信图片_20220330115617.png
[Python] 纯文本查看 复制代码
import os
import pptx
from pptx.util import Inches
import requests
import re

def getMap():
    url = 'http://bbs.tianya.cn/post-no04-2163192-1.shtml'
    response = requests.get(url).text
    # 可以去掉[:-3]先体验下,最后三张图不是
    maplists = re.findall('original="(.+?)"',response)[:-3]
    # print(len(maplists))
    i=0
    for maplist in maplists:
        map_res = requests.get(maplist)
        if map_res.status_code == 200:
            i += 1
            path = '%03d.jpg'%i
            with open(path,'wb') as f:
                f.write(map_res.content)
                print('已完成%03d张图片下载'%i)

if __name__ == '__main__':
    ppt_filename = input('输入目标ppt文件名(无需后缀):')
    full_ppt_filename = '{}.{}'.format(ppt_filename, 'pptx')
    # 下载地图
    getMap()
    # 设置ppt路径
    ppt_file = pptx.Presentation()
    # 设置ppt比例预设
    ppt_file.slide_width = Inches(16)
    ppt_file.slide_height = Inches(9)
    pic_files = [fn for fn in os.listdir() if fn.endswith('.jpg')]

    # 按图片编号顺序导入
    for fn in sorted(pic_files, key=lambda item: int(item[:item.rindex('.')])):
        slide = ppt_file.slides.add_slide(ppt_file.slide_layouts[1])

        # 为PPTX文件当前幻灯片中第一个文本框设置文字,本文代码中可忽略
        slide.shapes.placeholders[0].text = fn[:fn.rindex('.')]

        # 导入并为当前幻灯片添加图片,起始位置和尺寸可修改16:9
        slide.shapes.add_picture(fn, Inches(0), Inches(0), Inches(16), Inches(9))

    ppt_file.save(full_ppt_filename)

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
7086pp + 1 + 1 我很赞同!
glz220 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| txq0211 发表于 2022-3-30 16:05
愷龍 发表于 2022-3-30 16:01
我感觉这个写的还挺好的,想跟着楼主学点爬虫

我也是半吊子,碎片时间业余学了点点,然后遇到简单的尝试写一下
 楼主| txq0211 发表于 2022-3-30 14:20
愷龍 发表于 2022-3-30 13:06
https://www.52pojie.cn/thread-1612966-1-1.html楼主这个还更新吗

哈哈,不知道写点啥,有空尝试下
beyond1994 发表于 2022-3-30 12:48
愷龍 发表于 2022-3-30 13:06
yesdone 发表于 2022-3-30 14:04
好像也许能看懂一点,学过一点基础的C语言
qs1120 发表于 2022-3-30 14:23
Python果然牛,是一把利器
愷龍 发表于 2022-3-30 16:01
txq0211 发表于 2022-3-30 14:20
哈哈,不知道写点啥,有空尝试下

我感觉这个写的还挺好的,想跟着楼主学点爬虫
愷龍 发表于 2022-3-30 16:11
txq0211 发表于 2022-3-30 16:05
我也是半吊子,碎片时间业余学了点点,然后遇到简单的尝试写一下

感觉楼主挺厉害的
hannce 发表于 2022-4-4 01:41
txq0211 发表于 2022-3-30 14:20
哈哈,不知道写点啥,有空尝试下

可以根据大家提出的一些实际需求,一步一步的进行实战教学
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表