其他分享
首页 > 其他分享> > 1ppt.com网站PPT爬取

1ppt.com网站PPT爬取

作者:互联网

import requests
from lxml import html
etree = html.etree
import re
import os
if not os.path.exists('D:\爬虫/中秋节'):
    os.mkdir('D:\爬虫/中秋节')
网址 = 'http://www.1ppt.com/moban/zhongqiujie/'
UA伪装 = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.9231 SLBChan/8'}
响应数据 = requests.get(url=网址,headers=UA伪装)
响应数据.encoding='gbk'
解析 = etree.HTML(响应数据.text)
末页 = 解析.xpath('//a[text()="末页"]/@href')
if 末页 !=[]:
    正则 = re.search("(\d+).html",末页[0])
    页数 = 正则.group(1)
else:
    页数 = 1
for 页数 in range(1,int(页数)+1):
    if 页数 == 1:
        网址 = 'http://www.1ppt.com/moban/zhongqiujie/'
    else:
        网址 = 'http://www.1ppt.com/moban/zhongqiujie/'+'ppt_zhongqiujie_'+str(页数)+'.html'
    响应数据 = requests.get(url=网址,headers=UA伪装)
    响应数据.encoding = 'gbk'
    解析 = etree.HTML(响应数据.text)
    文件链接 = 解析.xpath('//ul[@class="tplist"]//@href')
    文件链接 = ['http://www.1ppt.com/'+文件链接 for 文件链接 in 文件链接]
    文件名称 = 解析.xpath('//ul[@class="tplist"]//@alt')
    dict1 = dict(zip(文件名称, 文件链接))
    for 文件名称, 文件链接 in dict1.items():
        响应数据 = requests.get(url=文件链接, headers=UA伪装).text
        解析 = etree.HTML(响应数据)
        下载地址 = 解析.xpath('//ul[@class="downurllist"]/li/a/@href')
        下载地址 = ['http://www.1ppt.com/' + 下载地址 for 下载地址 in 下载地址]
        if 下载地址!=[]:
            文件数据 = requests.get(url=下载地址[0], headers=UA伪装).content
            文件路径 = 'D:\爬虫/中秋节/' + 文件名称 + '.zip'
            with open(文件路径, 'wb') as 变量名:
                变量名.write(文件数据)
                print(文件名称, '下载成功了!!!')





标签:文件,页数,爬取,响应,ppt,1ppt,com,链接
来源: https://www.cnblogs.com/QYepoch/p/15449266.html