Python爬蟲——爬取貴州省鄉(xiāng)鎮(zhèn)級行政區(qū)劃代碼(二)

上節(jié)我們已經(jīng)爬取到想要的數(shù)據(jù),但是好學的你肯定不滿足于此,數(shù)據(jù)爬到了,那我們?nèi)绾螌⑵浔4嫦聛砟??接下來,我們將介紹如何把爬到的數(shù)據(jù)格式化輸出并保存。

1.格式化輸出

可以看到,我們采集出來的數(shù)據(jù)是以列表形式輸出的,接下來我們將代碼和名稱分開輸出。首先創(chuàng)建兩個新空列表,分別用于存放區(qū)劃代碼和名稱:

city_id = []
city_name = []
2.裝載數(shù)據(jù)

通過循環(huán)分別取出區(qū)劃代碼和名稱,并添加到對應(yīng)列表中:

m = len(citys) #獲取原列表長度
while m > 0:
    city_name.append(citys[m-1].string)
    city_id.append(citys[m-2].string)
    # print(citys[m-1].string)
    m = m - 2
3.結(jié)構(gòu)化數(shù)據(jù)并保存

將列表轉(zhuǎn)化成數(shù)據(jù)框,這里需要引入pandas模塊:

import pandas as pd

# 將列表轉(zhuǎn)化成數(shù)據(jù)框
city_info = pd.DataFrame({'id': city_id, 'name': city_name, 'url': city_urls})
print(city_info)

# 將數(shù)據(jù)保存到桌面
city_info.to_csv('C:/Users/SYH/Desktop/city_info.csv', index=False)
4.完整代碼
import requests
from bs4 import BeautifulSoup
import pandas as pd

# 目標網(wǎng)頁
url_pro = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2019/41.html'

# 獲取響應(yīng)并解析
res = requests.get(url=url_pro).content
soup = BeautifulSoup(res, 'html.parser')

# 獲取數(shù)據(jù)
citys = soup.select('.citytr a')

# 創(chuàng)建列表以保存數(shù)據(jù)
city_id = []
city_name = []

# 裝載數(shù)據(jù)
m = len(citys)
while m > 0:
    city_name.append(citys[m-1].string)
    city_id.append(citys[m-2].string)
    # print(citys[m-1].string)
    m = m - 2

# 結(jié)構(gòu)化數(shù)據(jù)并保存
city_info = pd.DataFrame({'id': city_id, 'name': city_name, 'url': city_urls})
city_info.to_csv('C:/Users/SYH/Desktop/city_info.csv', index=False)

到此,數(shù)據(jù)的采集過程你已經(jīng)基本掌握,其間你會發(fā)現(xiàn),單獨爬蟲的代碼沒有幾行,你甚至可以死記硬背,但是你總不會只是把數(shù)據(jù)爬出來看看這么簡單,肯定是需要將爬出的數(shù)據(jù)再做更多的處理,例如結(jié)構(gòu)化輸出、保存、分析、可視化等等……這些,就得自己去補充了。

數(shù)據(jù)的處理,著重了解一下pandas及Python的一些語法基礎(chǔ)(如循環(huán)),要想爬取更多的數(shù)據(jù)或是元素,還需簡單了解一下HTML基礎(chǔ)……拋磚引玉,期待你更好的作品!

下節(jié),我們將介紹如何循環(huán)采集下一級(縣級)數(shù)據(jù)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容