使用 python 将网站上多页表格数据导出 Excel 文件

发布时间: 2021-11-30 09:07:11 作者: 大象笔记

公司找外包公司做了个大学生创新大赛作品上传及报名系统,但是离谱的是,活动结束后外包公司就把服务器关停了。参数数据及作品文件都无法下载。于是协商这个公司把服务器启动两天,等我们下载完了,再关停。

由于没有自动导出功能,于是我写了个 python 程序做了自动下载。

处理逻辑

curl 自定义下载文件名

curl -L "http://www.sunzhongwei.com/download.do?fileCode=60abb8cea8d3fd5b1398b7a5" --output "python入门.pdf"

python 解析 json 导出 csv 示例

#!/usr/bin/env python3

import json
import csv

if '__main__' == __name__:
    print("Hello world!")

    rows = []
    with open('student.json') as f:
        data = json.load(f)
        items = data["data"]
        for item in items:
            rows.append([
                item["student_name"],
                item["student_grade"],
                item["student_mobile"],
                item["student_email"],
                "队长" if item["is_team_leader"] else "",
            ])
    print(rows)

    with open("student.csv", 'w', newline='') as myfile:
        wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
        for row in rows:
            wr.writerow(row)

python 生成批量下载文件 shell 示例

#!/usr/bin/env python3

import json
import csv


if '__main__' == __name__:
    print("Hello world!")

    rows = []
    with open('product.json') as f:
        data = json.load(f)
        items = data["data"]
        commands = []
        for item in items:
            fileCode = item["filecode"]
            if fileCode:
                command = 'curl -L "http://www.sunzhongwei.com/download.do?fileCode=' + fileCode + '" --output "' + fileCode + '_' + item["filename"].replace("/", "") + '.pdf"'
                commands.append(command)

    with open('product_ips.sh', 'a') as the_file:
        for command in commands:
            the_file.write(command + "\n")
我是一名山东烟台的开发者,联系作者