使用Python進行疫情資料爬取

2022-05-04 13:18:13 字數 2770 閱讀 6972

為了使用python學習爬取疫情資料,提前學習了python中的語法和各種儲存結構(dirt),若沒有這些基礎很難看懂python**,更別提寫了

# 放入要爬的url

url = ""

# 設定header做乙個防爬機制

# 獲取response的json

response = requests.get(url, headers=header)

# 取得資料詞典

data = json.loads(response.content.decode())

data_str = data['data']

data_json = json.loads(data_str)

# 取出各個省和市的dict

areatree = data_json['areatree'][0]['children']

# 連線資料庫

db = pymysql.connect(host = 'localhost', port=3306, user='root', password='abc456', db='yiqing', charset='utf8')

#使用cursor方法生成乙個游標

cursor = db.cursor()

# 更新時間

lastupdatetime = data_json['lastupdatetime']

for province_list in areatree:

province_name = province_list['name']

confirm_total = province_list['total']['confirm']

suspect_total = province_list['total']['suspect']

dead_total = province_list['total']['dead']

heal_total = province_list['total']['heal']

for itemchild in province_list['children']:

city_name = itemchild['name']

confirm = itemchild['total']['confirm']

suspect = itemchild['total']['suspect']

dead = itemchild['total']['dead']

heal = itemchild['total']['heal']

# 插入資料

sql = "insert into pythontest2_copy1(id, province_name, city_name, confirm, suspect, dead, heal,lastupdatetime) values ({},'{}','{}','{}','{}','{}','{}','{}')".format(0, province_name, city_name, confirm, suspect, dead, heal,lastupdatetime)

cursor.execute(sql)

sql_total = "insert into pythontest2_copy1(id, province_name, city_name, confirm, suspect, dead, heal,lastupdatetime) values ({},'{}',{},'{}','{}','{}','{}','{}')".format(

0, province_name, 0, confirm_total, suspect_total, dead_total, heal_total, lastupdatetime)

cursor.execute(sql_total)

db.commit()

日期

開始時間

結束時間

中斷時間

淨時間活動

備註3.11

16:00

16:50

2030

編碼前準備

3.11

21:00

21:30

30編寫**

3.11

21:30

21:45

15測試

3.11

21:45

21:505整理

日期編號

型別引入階段

排除階段

修復時間

修復缺陷

描述3.1111

編碼編碼

1min

規範縮排

縮排不夠規範,出現錯誤

3.1122

編碼測試

2min

修改sql語句位置

資料庫儲存的資料與預期的不一致

3.1133

編碼測試

1min

刪掉多餘的","

sql語句書寫不規範,無法插入資料庫

3.1144

編碼測試

3min

將string再轉成python物件型別

沒有正確提取資料

可以很明顯的看到用python編寫爬蟲的簡單和簡便,不得不感嘆各個語言的特性。這裡的大部分時間都用在看別人的**上了,但最後收穫也很大。

ps:python的縮排規範確實難頂啊

Python爬取疫情資料

實現 輸出結果 import requests 請求庫 import pandas as pd 日期 today time.strftime y m d time.localtime format y 年 m 月 d 日 url 請求頭 headers 傳送請求 response requests....

python 爬取疫情資料並進行視覺化

課題 爬取疫情資料 進行視覺化 第一步 爬蟲爬取疫情資料 第二步 實現資料的視覺化 import time import json import requests import pandas as pd url r int time.time 1000 html requests.get url h...

搜狗 疫情資料爬取(Python)

上週已經分享過搜狗 疫情資料爬取 r語言 這次分享一下搜狗 疫情資料爬取 python from urllib import request from lxml import etree import re import pandas as pd import json url response r...