[Pythonのそれらのもの] [主な練習]シンプルな爬虫類武漢給油は、

標的部位ます。https://news.163.com/special/epidemic/
タスク:流行の基本的な状況の周りにクロール日
群集のために:基本的なPythonコードを理解し、小規模なプロジェクトのトレーニング

コードは以下の通りです

爬虫類ツールは、第1のデータ処理要求と小さな専門家のパンダを導入しました

import requests
import pandas as pd

次の関数は、データのJSONを取得することです

def get_page(url):
    headers={'User-Agent':'XXXXXXX'}
    r=requests.get(url, headers=headers)
    r.encoding = r.apparent_encoding
    a=r.json()
    return a

ここでは、少しは、ページのソースコードを解析する必要がある、すべての後、さて有用な情報を抽出することです

def parse_page(html):
    all=[]
    china = html['data']['areaTree'][0]['children']
    for i in range(len(china)):
        provinceName=china[i]['name']
        for j in range(len(china[i]['children'])):
            cityName = china[i]['children'][j]['name']
            confirm = china[i]['children'][j]['today']['confirm']
            dead = china[i]['children'][j]['today']['dead']
            heal = china[i]['children'][j]['today']['heal']
            suspect = china[i]['children'][j]['today']['suspect']
            lastUpdateTime = china[i]['children'][j]['lastUpdateTime']
            a = {'province':provinceName,'city':cityName,
                     'confirm':confirm,'dead':dead,'heal':heal,
                    'suspect':suspect,'lastUpdateTime':lastUpdateTime}
            all.append(a)
    return all

有効なデータがファイルに保存され、次の

def save_file(all):
    df = pd.DataFrame(all)
    order=['province','city','confirm','dead','heal','suspect','lastUpdateTime']
    df = df[order]
    df.to_csv('pachong.csv',index=True,header=True)

何より、それは次の機能を実行することです

url = "https://c.m.163.com/ug/api/wuhan/app/data/list-total?t=316639086783"
dataJson = get_page(url)
allData = parse_page(dataJson)
save_file(allData)

古いルールは、問題を抱えているのささやき

公開された17元の記事 ウォン称賛51 ビュー4483

おすすめ

転載: blog.csdn.net/qq_44172732/article/details/104642592
おすすめ