美文网首页
S01E08.批量下载免费PPT模板【解决乱码问题】(问题待解决

S01E08.批量下载免费PPT模板【解决乱码问题】(问题待解决

作者: 布衣夜行人 | 来源:发表于2022-01-05 15:22 被阅读0次
当前问题

网页似乎改变,需要由总览页点进入各个子页面,找到不同通道的下载链接之后在进行文件的下载。原有代码似乎已不足以顺利抓取数据。一路点击之后也发现,最终单个文件已变为.zip的压缩包文件

当前关键问题:如何通过总览页面内各个子页面找寻到准确的文件下载链接。

import requests
from lxml import etree
import os
if not os.path.exists('d:/生日PPT'):
    os.mkdir('d:/生日PPT')
网址 =  'http://www.1ppt.com/moban/shengri/'
UA伪装 = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
proxies={
    'http':'http://XXXXX@XXXXX',
    'https':'http://XXXX@XXXX'
    }
响应数据 = requests.get(url=网址,headers=UA伪装,proxies=proxies,verify=False)
#中文编码字符选择
响应数据.encoding='gbk'
解析 = etree.HTML(响应数据.text)
print(解析)
'''
#常规套路,寻找文件链接与保存文件时按显示文件名称保存
文件链接 = 解析.xpath('//ul[@class = "tplist"]/li/a/@href')
文件链接 = ['http://www.1ppt.com'+文件链接 for 文件链接 in 文件链接]
文件名称 = 解析.xpath('//ul[@class = "tplist"]//@alt')
字典 = dict(zip(文件名称,文件链接))
for 文件名称,文件链接 in 字典.items():
    响应数据 = requests.get(url=文件链接, headers=UA伪装,proxies=proxies,verify=False).text
    解析 = etree.HTML(响应数据)
    下载地址 = 解析.xpath('//ul[@class="downurllist"]/li/a/@href')
    print(下载地址[0])
    文件数据 = requests.get(url=下载地址[0], headers=UA伪装,proxies=proxies,verify=False).content
    后缀 = 下载地址[0].split('.')[-1]
    文件路径 = 'd:/生日PPT/' + 文件名称 + '.' + 后缀
    with open(文件路径, 'wb') as 变量名:
        变量名.write(文件数据)
        print(文件名称, '下载成功!!!')
'''

相关文章

网友评论

      本文标题:S01E08.批量下载免费PPT模板【解决乱码问题】(问题待解决

      本文链接:https://www.haomeiwen.com/subject/tjzhcrtx.html