python 动态tabel的数据爬取_python爬取接口json数据,并显示在PrettyTable

【实例简介】动态javascript爬取,接口网址无法打开了,不过可以参考其逻辑,比较简洁

【实例截图】

【核心代码】

#coding=utf-8

import requests

import json

from prettytable import PrettyTable

if __name__=='__main__':

url = 'https://data-gkcx.eol.cn/soudaxue/queryProvince.html'

row = PrettyTable()

row.field_names = ["地区", "年份", "考生类别", "批次","分数线"]

for i in range(1,34):

data ={"messtype":"json",

"page":i,

"size":50,

"callback":

"jQuery1830426658582613074_1469201131959",

"_":"1469201133189",

}

school_datas = requests.post(url,data = data).json()

datas = school_datas["school"]

for data in datas:

row.add_row((data["province"] ,data["year"],data["bath"],data["type"], data["score"]))

print(row)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,可以给你一个大致的思路: 1. 首先,你需要用 Python 的 requests 库向目标网站发送请求,获取对应的 JSON 数据。 2. 接着,你需要使用 Pythonjson 库将 JSON 数据转换成 Python 对象,方便后续处理。如果 JSON 数据比较大,你可以使用 ijson 库来逐行读取并解析 JSON 数据,可以节省内存空间。 3. 接下来,你需要连接到你的数据库,并且在其中创建一个表,用来存储你要插入的数据。你可以使用 Python 的 MySQLdb 或者 PyMySQL 等库来连接 MySQL 数据库。 4. 然后,你需要将 Python 对象中的数据逐行插入到数据库中对应的表中。你可以使用 SQL 语句来实现,比如 INSERT INTO 语句。 下面是一个简单的示例代码,可以帮助你理解上述的思路: ```python import requests import json import pymysql # 发送请求,获取 JSON 数据 url = "https://example.com/api/data" response = requests.get(url) data = json.loads(response.text) # 连接数据库 conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test') cursor = conn.cursor() # 创建表 sql_create_table = ''' CREATE TABLE IF NOT EXISTS `data` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) DEFAULT NULL, `value` FLOAT DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ''' cursor.execute(sql_create_table) # 插入数据 for item in data: name = item['name'] value = item['value'] sql_insert = f"INSERT INTO `data` (`name`, `value`) VALUES ('{name}', {value})" cursor.execute(sql_insert) # 提交事务并关闭连接 conn.commit() cursor.close() conn.close() ``` 当然,这只是一个简单的示例代码,实际上在实际应用中,你还需要考虑一些异常处理、错误处理、数据清洗等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值