python (自学7)下载免费简历 以及 安装插件 requests

安装 requests 库:   他们三个 按一个就行 

pip install requests

或者

pip3 install requests

或者

conda install requests

代码

每次只可以下载一页的 简历模板  需要手动修改  id =  ###


import requests
from lxml import etree
import os

if __name__ == "__main__":
    # 创建一个文件夹,保存ppt
    if not os.path.exists('./ppt模板'):
        os.mkdir('./ppt模板')
    # UA伪装
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
                            AppleWebKit/537.36 (KHTML, like Gecko) \
                                Chrome/96.0.4664.93 Safari/537.36'
    }
    url = 'https://aspx.sc.chinaz.com/query.aspx?keyword=%E5%85%8D%E8%B4%B9&issale=&classID=864&page=1'
    # 发起请求
    page_response = requests.get(url=url, headers=headers)
    # 手动设置响应数据编码格式为utf-8
    page_response.encoding = 'utf-8'
    # 获取响应数据。text方法返回的是字符串形式的响应数据
    page_text = page_response.text
    # 数据解析
    tree = etree.HTML(page_text)
    div_list = tree.xpath('//div[@id="main"]/div/div')
    for div in div_list:
        ppt_title = div.xpath('./p/a/text()')[0] + '.rar'
        # ppt_title = ppt_title.encode('iso-8859-1').decode('gbk')
        ppt_src = 'https:' + div.xpath('./p/a/@href')[0]
        print(ppt_src)
        # 向PPT详情页发起请求
        ppt_response = requests.get(url=ppt_src, headers=headers)
        ppt_response.encoding = 'utf-8'
        ppt_page_text = ppt_response.text
        ppt_tree = etree.HTML(ppt_page_text)
        # 解析下载地址
        ppt_download_url = ppt_tree.xpath('//ul[@class="clearfix"]/li[1]/a/@href')[0]
        print(ppt_download_url)
        # 访问下载地址
        ppt_data = requests.get(url=ppt_download_url, headers=headers).content
        # 设置存储路径
        ppt_path = './ppt模板/' + ppt_title
        with open(ppt_path, 'wb') as fp:
            fp.write(ppt_data)
            print(ppt_title, "下载完成!")
    # print("第%d页下载完毕!" % 1)

 可以同时下载很多简历  page每次自增加一


import requests  # 导入requests库,用于发送HTTP请求
from lxml import etree  # 导入etree模块,用于解析HTML或XML文档
import os  # 导入os模块,用于与操作系统交互,如创建文件夹

if __name__ == "__main__":  # 判断是否为主程序运行
    # 创建一个文件夹,保存ppt
    if not os.path.exists('./jianli'):  # 检查文件夹是否存在
        os.mkdir('./jianli')  # 如果不存在,则创建文件夹

    # UA伪装,设置请求头中的User-Agent字段,模拟浏览器访问
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'
    }

    # 定义起始页和结束页,用于分页请求
    start_page = 1
    end_page = 10  # 例如,你想要下载前10页的内容

    for page in range(start_page, end_page + 1):  # 循环遍历每一页
        # 动态生成URL,根据页码构造请求地址
        url = 'https://aspx.sc.chinaz.com/query.aspx?keyword=%E5%85%8D%E8%B4%B9&issale=&classID=864&page={page}'
        # 发起请求,获取页面内容
        page_response = requests.get(url=url, headers=headers)
        # 手动设置响应数据编码格式为utf-8,确保正确解析中文
        page_response.encoding = 'utf-8'
        # 获取响应的文本内容
        page_text = page_response.text
        # 数据解析,使用etree解析HTML文档
        tree = etree.HTML(page_text)
        # 使用XPath表达式定位到包含PPT信息的div元素列表
        div_list = tree.xpath('//div[@id="main"]/div/div')
        for div in div_list:  # 遍历每个div元素
            # 提取PPT标题,并添加.rar后缀,假设下载的是压缩包
            ppt_title = div.xpath('./p/a/text()')[0] + '.rar'
            # 提取PPT详情页的链接
            ppt_src = 'https:' + div.xpath('./p/a/@href')[0]
            print(ppt_src)  # 打印详情页链接
            # 向PPT详情页发起请求
            ppt_response = requests.get(url=ppt_src, headers=headers)
            ppt_response.encoding = 'utf-8'  # 设置响应编码
            ppt_page_text = ppt_response.text  # 获取详情页内容
            ppt_tree = etree.HTML(ppt_page_text)  # 解析详情页HTML
            # 解析下载地址,假设下载链接在特定的XPath位置
            ppt_download_url = ppt_tree.xpath('//ul[@class="clearfix"]/li[1]/a/@href')[0]
            print(ppt_download_url)  # 打印下载链接
            # 访问下载地址,获取PPT文件内容
            ppt_data = requests.get(url=ppt_download_url, headers=headers).content
            # 设置存储路径
            ppt_path = './jianli/' + ppt_title
            with open(ppt_path, 'wb') as fp:  # 以二进制写入模式打开文件
                fp.write(ppt_data)  # 将PPT文件内容写入文件
                print(ppt_title, "下载完成!")  # 打印下载完成信息

    print("所有页面下载完毕!")  # 打印所有页面下载完成信息



参考: python爬虫练习(xpath爬取站长素材中的免费简历模板)_爬取站长素材中免费简历模板-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值