S01E08.批量下載免費PPT模板【解決亂碼問題】(問題待解決)

當前問題

網(wǎng)頁似乎改變,需要由總覽頁點進入各個子頁面,找到不同通道的下載鏈接之后在進行文件的下載。原有代碼似乎已不足以順利抓取數(shù)據(jù)。一路點擊之后也發(fā)現(xiàn),最終單個文件已變?yōu)?zip的壓縮包文件

當前關(guān)鍵問題:如何通過總覽頁面內(nèi)各個子頁面找尋到準確的文件下載鏈接。

import requests
from lxml import etree
import os
if not os.path.exists('d:/生日PPT'):
    os.mkdir('d:/生日PPT')
網(wǎng)址 =  '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'
    }
響應(yīng)數(shù)據(jù) = requests.get(url=網(wǎng)址,headers=UA偽裝,proxies=proxies,verify=False)
#中文編碼字符選擇
響應(yīng)數(shù)據(jù).encoding='gbk'
解析 = etree.HTML(響應(yīng)數(shù)據(jù).text)
print(解析)
'''
#常規(guī)套路,尋找文件鏈接與保存文件時按顯示文件名稱保存
文件鏈接 = 解析.xpath('//ul[@class = "tplist"]/li/a/@href')
文件鏈接 = ['http://www.1ppt.com'+文件鏈接 for 文件鏈接 in 文件鏈接]
文件名稱 = 解析.xpath('//ul[@class = "tplist"]//@alt')
字典 = dict(zip(文件名稱,文件鏈接))
for 文件名稱,文件鏈接 in 字典.items():
    響應(yīng)數(shù)據(jù) = requests.get(url=文件鏈接, headers=UA偽裝,proxies=proxies,verify=False).text
    解析 = etree.HTML(響應(yīng)數(shù)據(jù))
    下載地址 = 解析.xpath('//ul[@class="downurllist"]/li/a/@href')
    print(下載地址[0])
    文件數(shù)據(jù) = requests.get(url=下載地址[0], headers=UA偽裝,proxies=proxies,verify=False).content
    后綴 = 下載地址[0].split('.')[-1]
    文件路徑 = 'd:/生日PPT/' + 文件名稱 + '.' + 后綴
    with open(文件路徑, 'wb') as 變量名:
        變量名.write(文件數(shù)據(jù))
        print(文件名稱, '下載成功?。?!')
'''
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容