筆記網路資料抓取(四)

2021-09-12 22:34:04 字數 2260 閱讀 6319

上文集成

我們需要做的有以下3點:取回資料、轉換資料,提取所需要的資訊、放回需要處理的資料結構

因此所需函式及輸入輸出為

def get_daily_data(remote = flase)

def request_data();

return json.loads(response.text)

def daily_data_of_attributes(json_dict,attributes):

daily_attributes = {}

return daily_attributes

下面為整合源**

所需的package自行新增

def load_json_sample(path):

with open(path, encoding='utf-8') as json_fie:

return json.load(json_file)

def daily_data_of_attributes(json_dict,attributes):

daily_attributes = {}

for attr in attributes:

daily_attributes[attr] =

daily_data = json_dict["daily"]["data"]

try:

for dict_data in daily_data:

for attr in attributes:

except keyerror:

print("key not found")

return {}

return daily_attributes

def request_data():

# 蘇州相城區

lat = 31.3694

long = 120.6244

api_key = "62bf94de3c232f30f6f3ee5bb534c2f3"

url = "" % (api_key,lat,long)

response = requests.get(url)

return json.loads(response.text)

def get_daily_data(remote=false):

if remote:

json_obj = request_data()

else:

json_obj = load_json_sample('sample.json')

attributes = ['temperaturemin','temperaturemax','humidity','summary']

daily_data = daily_data_of_attributes(json_obj,attributes)

return daily_data

def pretty_print_dict_of_list(d):

indent = 4

print("")

aily_data = get_daily_data(true)

print(daily_data)

pretty_print_dict_of_list(daily_data) #更整齊點

df = pd.dataframe(daily_data)
df_temperture = df[["temperaturemin","temperaturemax"]]

df_humidity = df[["humidity"]]

# plot data

plt.style.use('ggplot')

#plt.title('temperaturemin', color='b')

_,axes = plt.subplots(nrows =2)

df_temperture.plot(ax = axes[1])

df_humidity.plot(ax = axes[0])

plt.show()

上述步驟結果

抓取網路資料報

當使用者在區域網內傳遞資料時,處於同一網段的所有計算機的網絡卡都會收到這些資料,儘管它不是傳遞資料的目的地。利用這一特點,我們就可以截獲區域網中傳遞的資料。為了能夠獲取通過網絡卡上的資料,需要建立原始套接字。使用者可以將socket函式的第二個引數設定為sock raw來建立原始套接字。例如 m s...

pacp 網路資料報抓取

我們可以分5個步驟來描述使用libpcap編寫程式的步驟 我們首先要決定監聽的裝置介面,這個可以用乙個string來表示,也可以由pcap提供給我們。初始化pcap。我們要告訴pcap需要監聽的是哪乙個裝置。pcap對於不同的裝置,使用session來區分它們,乙個裝置就是一 個 session 我...

PHP經典抓取網路資料方法

1 file get contents 以get的方式獲取資料 url blog.csdn.net guugle2010 html file get contents url echo html 以post方式獲取資料 2 fopen方式 url handle fopen url,r html wh...