本文描述了最基本的爬蟲使用方法。
目標**:
獲取**中外國某國家疫情感染人數。
按f12進入開發者模式,檢視目標**的資訊,以google瀏覽器為例子:
url最後類似於亂碼形式的字串為國家名轉碼以後的文字。如果需要獲取其他國家的資料,只需要將url變為
國家名稱&,
在拼接時無法使用中文,可以使用quote方法進行轉碼。
from urllib import parse # urllib為python中用於處理http請求,parse子模組用於處理url
url =
"%s&"
#基本格式
country =
input
("請輸入查詢國家:"
)print
(url%
(parse.quote(country)))
# 使用unquote方法解析url
輸入目標國家後即可進行轉碼:
requests模組是python中的http請求庫,需要進行安裝。
瀏覽器在傳送請求時會攜帶一些資訊,為了達到模擬瀏覽器的目的,爬蟲也需要加入這些資訊進行偽裝,可以直接將瀏覽器中對應資訊直接貼上過來。
在這裡插入**片
request的使用格式:
requests.post(url,
[data,
][headers,
][proxies,
]*args)
-url:伺服器對應的位址。
-data:請求時攜帶的資料。
-headers:http請求中headers欄位。
-proxies:設定**ip位址
獲取資料的程式如下:from urllib import parse # urllib為python中用於處理http請求,parse子模組用於處理url
import requests
defget_response
(country)
: url =
""#基本格式
headers =
url = url%
(parse.quote(country)
) data =
response = requests.post(url,data=data,headers=headers)
print
(url)
return response
# 檢視獲取的內容
country =
input
("請輸入查詢國家:"
)res = get_response(country)
print
(res.text)
# resposne.text 檢視響應中的文字資訊
資料本身並不直觀,需要進行處理。資料時字串形式的字典(json), 將其轉化為字典,然後使用pandas進行處理,最後儲存至excel檔案中。
最後的完整**如下:
from urllib import parse # urllib為python中用於處理http請求,parse子模組用於處理url
import requests
defget_response
(country)
: url =
""#基本格式
headers =
url = url%
(parse.quote(country)
) data =
response = requests.post(url,data=data,headers=headers)
print
(url)
return response
# 檢視獲取的內容
country =
input
("請輸入查詢國家:"
)res = get_response(country)
#print(res.text) # resposne.text 檢視響應中的文字資訊
with
open
("yiqing.txt"
,"a"
)as f:
f.write(res.text)
data = res.text
data =
eval
(data)
# 轉為字典
# 資料中只有data對應的鍵值對為資料
data = data[
"data"
]# 匯入pandas ,需要進行安裝
import pandas as pd # 使用as給包起別名
df = pd.dataframe(data)
# dataframe為pandas中的乙個資料結構,類似於二維**
df.to_excel(
"yiqing.xls"
, index=
false
)# to_csv可以寫入到csv檔案中
df = pd.read_excel(
"yiqing.xls"
, index_col=
none
)df
執行演示:
國內外新冠肺炎實時資料爬蟲
本文獲取的是歷史資料和當日詳細資料,返回的資料型別是json資料,其中的provincecompare欄位是各省的總體情況,如果想做國外爬蟲可沒問題,可以參看我提供的url 注意,中國當天的資料在chinadaylist欄位的最後 import pymysql import time import ...
關於新冠肺炎的一切
目錄 part 1 感染 part 2 傳播 part 3 口罩 part 4 勇氣 和你一樣,我們也一直著關注這場突然爆發的新型冠狀病毒肺炎。在下面的文章中,我們會解釋這一切是如何發生 傳播和感染的。來吧。首先我們要知道,病毒是如何感染患者的。病毒要進入細胞,細胞上就必須要有它對應的受體 rece...
新冠肺炎疫情大資料實時平台
目錄 一 簡介 本開源程式將逐步停止維護,將開設新的專案,資料來源以中國cdc為準。新增全球疫情資料 國內資料 各省市自治區資料 二 目錄結構介紹 bin 專案的底層核心,路由配置檔案 controller 控制器目錄 node modules 專案中依賴的包 public 公共資源放的目錄 rou...