标签:05 数据 爬取 item num str total data children
修改自一个爬取数据并输入省份查询的脚本。
import requests import json import mysql.connector import time def Down_data():#获取JSON url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5' print="%int(time.mktime( t )*1000)'" headers = {#伪装浏览器请求头 'user-agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36' } r = requests.get(url, headers) res = json.loads(r.text) data_res = json.loads(res['data']) return data_res mydb = mysql.connector.connect(#连接数据库 host="localhost", user="root", passwd="Asd1402306745@qq.com", database="uu_zaa_db" ) mycursor = mydb.cursor() #开始搞事 data = Down_data()['areaTree'][0]['children']#便于后面操作 lastTime = Down_data()['lastUpdateTime']#爬取的JSON更新日期在data--lastUpdateTime tm = 1 for i in data: #if i['children']:#判断是否有children,以此筛选掉外国的数据(根据分析JSON发现外国的数据没有children,当然也可以写死所有省份名然后筛选,但是我懒得写) if tm: sql = "INSERT INTO info1 (Date, Province, City, Confirmed_num, Yisi_num, Cured_num, Dead_num) VALUES (%s, %s, %s, %s, %s, %s, %s)" ipt = (str(lastTime), str(i['name']), str(''), str(i['total']['confirm']), str(''), str(i['total']['heal']), str(i['total']['dead']))#储存省份信息,根据表里规则省份的那行的City为空串 mycursor.execute(sql, ipt) for item in i['children']:#各个城市信息, ipt = (str(lastTime), str(i['name']), str(item['name']), str(item['total']['confirm']), str(''), str(item['total']['heal']), str(item['total']['dead'])) mycursor.execute(sql, ipt) mydb.commit()#提交更改
Python其实上手很快,个人因为本身就有(自认为)规范的缩进习惯,对于Python的强制缩进等等没什么感受。
标签:05,数据,爬取,item,num,str,total,data,children 来源: https://www.cnblogs.com/minadukirinno/p/13337246.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。