欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python怎么監(jiān)視和衡量網(wǎng)站

這篇文章主要講解了“Python怎么監(jiān)視和衡量網(wǎng)站”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python怎么監(jiān)視和衡量網(wǎng)站”吧!

十多年的莫力達網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整莫力達建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“莫力達網(wǎng)站設(shè)計”,“莫力達網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

網(wǎng)絡(luò)重要指標簡介

5月初,Google推出了Core Web Vitals,它是其關(guān)鍵Web Vitals指標的一部分。

這些指標用于提供有關(guān)網(wǎng)站上用戶體驗質(zhì)量的指導(dǎo)。

Google將其描述為“幫助量化您的網(wǎng)站體驗并確定改進機會”的一種方式,進一步強調(diào)了它們向關(guān)注用戶體驗的轉(zhuǎn)變。

核心網(wǎng)絡(luò)生命力是真實的,以用戶為中心的指標,用于衡量用戶體驗的關(guān)鍵方面。加載時間,互動性和穩(wěn)定性。

除此之外,Google  上周宣布,他們將引入一個新的搜索排名信號,它將這些指標與現(xiàn)有頁面體驗信號(例如移動設(shè)備友好性和HTTPS安全性)結(jié)合在一起,以確保它們繼續(xù)為高質(zhì)量網(wǎng)站提供服務(wù)給用戶。

監(jiān)控性能指標

預(yù)計此更新將于2021年推出,Google已確認不需要立即采取行動。

但是,為了幫助我們?yōu)檫@些更改做準備,他們更新了用于測量頁面速度的工具,包括PSI,Google Lighthouse和Google Search  Console Speed Report。

Pagespeed Insights API從何入手?

Google的PageSpeed Insights是查看網(wǎng)頁效果摘要的有用工具,它使用現(xiàn)場數(shù)據(jù)和實驗室數(shù)據(jù)來生成結(jié)果。

這是獲得少數(shù)URL概述的好方法,因為它是逐頁使用的。

但是,如果您在大型站點上工作,并且希望獲得大規(guī)模的見解,那么該API可以有利于一次分析多個頁面,而無需單獨插入URL。

用于衡量性能的Python腳本

我創(chuàng)建了以下Python腳本來大規(guī)模度量關(guān)鍵性能指標,以節(jié)省手動測試每個URL所花費的時間。

該腳本使用Python將請求發(fā)送到Google PSI API,以收集和提取在PSI和Lighthouse中顯示的指標。

我決定在Google Colab中編寫此腳本,因為這是開始編寫Python并允許輕松共享的好方法,因此本文將使用Google  Colab貫穿整個安裝過程。

但是,它也可以在本地運行,對數(shù)據(jù)的上傳和下載進行一些調(diào)整。

請務(wù)必注意,某些步驟可能需要一些時間才能完成,尤其是當(dāng)每個URL通過API運行時,為了不使請求過載。

因此,您可以在后臺運行腳本,并在完成步驟后返回到腳本。

讓我們逐步介紹啟動和運行此腳本所需的步驟。

步驟1:安裝所需的軟件包

在開始編寫任何代碼之前,我們需要安裝一些Python程序包,然后才能使用該腳本。這些使用導(dǎo)入功能很容易安裝。

我們需要的軟件包是:

  • urllib:用于處理,打開,閱讀和解析URL。

  • json:允許您將JSON文件轉(zhuǎn)換為Python或?qū)ython文件轉(zhuǎn)換為JSON。

  • request:一個HTTP庫,用于發(fā)送各種HTTP請求。

  • pandas:主要用于數(shù)據(jù)分析和處理,我們正在使用它來創(chuàng)建DataFrames。

  • time:一個用于處理時間的模塊,我們正在使用它在請求之間提供時間間隔。

  • 文件:通過Google Colab,您可以上傳和下載文件。

  • io:用于訪問文件的默認接口。

# Import required packages  import json import requests import pandas as pd import urllib import time from google.colab import files import io

第2步:設(shè)置API請求

下一步是設(shè)置API請求。完整的說明可以在這里找到,但是從本質(zhì)上講,該命令將如下所示:

  • https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={yourURL}/&strategy=mobile/&key={yourAPIKey}

這將允許您附加URL,策略(臺式機或移動設(shè)備)和API密鑰。

要在Python中使用它,我們將使用urllib請求庫urllib.request.urlopen并將其添加到名為result的變量中,以便我們可以存儲結(jié)果并在腳本中再次使用它們。

# Define URL   url = 'https://www.example.co.uk'  # API request url result = urllib.request.urlopen('https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={}/&strategy=mobile'\ .format(url)).read().decode('UTF-8')  print(result)

步驟3:測試API

為了測試API的正確設(shè)置以及對測試過程中生成的內(nèi)容的理解,我使用簡單的urllib.request方法通過API運行了一個URL。

完成此操作后,我將結(jié)果轉(zhuǎn)換為json文件并下載了它,以便查看結(jié)果。

# Convert to json format result_json = json.loads(result)  print(result_json)  with open('result.json', 'w') as outfile:   json.dump(result_json, outfile)  files.download('result.json')

(請注意,此方法用于在Google Colab中轉(zhuǎn)換和下載JSON文件。)

步驟4:讀取JSON檔案

JSON文件顯示字段數(shù)據(jù)(存儲在loadingExperience下)和實驗室數(shù)據(jù)(可以在lighthouseResult下找到)。

為了提取所需的指標,我們可以利用JSON文件的格式,因為我們能夠看到每個部分下面的指標。

第5步:上傳CSV并存儲為Pandas數(shù)據(jù)框

下一步是上傳我們要通過PSI API運行的URL的CSV文件。您可以通過抓取工具(例如DeepCrawl)生成站點URL的列表。

當(dāng)我們使用API時,建議您在此處使用較小的URL示例集,尤其是在您擁有大型站點的情況下。

例如,您可以使用訪問量最高的頁面或產(chǎn)生最大收入的頁面。另外,如果您的站點有模板,則非常適合測試其中的模板。

您還可以在此處添加column-header變量,我們將在遍歷列表時使用該變量。確保此名稱與您上傳的CSV文件中的列標題名稱匹配:

uploaded = files.upload() #if your column header is something other than 'url' please define it here  column_header='url'

(請注意,此方法用于在Google Colab中上傳CSV文件。)

將其上傳后,我們將使用Pandas庫將CSV轉(zhuǎn)換為DataFrame,我們可以在以下步驟中進行迭代。

# Get the filename from the upload so we can read it into a CSV. for key in uploaded.keys():   filename = key # Read the selected file into a Pandas Dataframe df = pd.read_csv(io.BytesIO(uploaded[filename]))  df.head()

DataFrame看起來像這樣,從零索引開始。

步驟6:將結(jié)果保存到響應(yīng)對象

下一步涉及使用for循環(huán)來迭代剛剛通過PSI API創(chuàng)建的URL的DataFrame。

for循環(huán)使我們可以遍歷上載的列表并為每個項目執(zhí)行命令。然后,我們可以將結(jié)果保存到響應(yīng)對象中,并將其轉(zhuǎn)換為JSON文件。

response_object = {}  # Iterate through the df for x in range(0, len(df)):          # Define request parameter         url = df.iloc[x][column_header]          # Make request         pagespeed_results = urllib.request.urlopen('https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={}&strategy=mobile'.format(url)).read().decode('UTF-8')          # Convert to json format         pagespeed_results_json = json.loads(pagespeed_results)          # Insert returned json response into response_object         response_object[url] = pagespeed_results_json         time.sleep(30)                  print(response_object[url])

我們將在此處使用范圍內(nèi)的x,它表示循環(huán)中正在運行的URL,以及(0,len)允許循環(huán)遍歷DataFrame中的所有URL,無論包含多少個URL 。

該響應(yīng)對象防止通過重寫相互循環(huán),你的網(wǎng)址,使我們能夠保存數(shù)據(jù)以備將來使用。

這也是在將其轉(zhuǎn)換為JSON文件之前,將使用列標題變量定義URL請求參數(shù)的地方。

我還將此處的睡眠時間設(shè)置為30秒,以減少連續(xù)進行的API調(diào)用次數(shù)。

另外,如果您希望更快地提出請求,則可以在URL命令的末尾附加一個API密鑰。

縮進在這里也很重要,因為每個步驟都是for循環(huán)的一部分,因此必須在命令中縮進它們。

步驟7:創(chuàng)建一個數(shù)據(jù)框來存儲響應(yīng)

我們還需要創(chuàng)建一個DataFrame來存儲我們要從響應(yīng)對象中提取的指標。

DataFrame是類似于表的數(shù)據(jù)結(jié)構(gòu),具有存儲數(shù)據(jù)的列和行。我們只需要為每個指標添加一列并適當(dāng)?shù)孛?,如下所示?/p>

# Create dataframe to store responses df_pagespeed_results = pd.DataFrame(columns=           ['url',           'Overall_Category',           'Largest_Contentful_Paint',           'First_Input_Delay',           'Cumulative_Layout_Shift',           'First_Contentful_Paint',           'Time_to_Interactive',           'Total_Blocking_Time',           'Speed_Index'])    print(df_pagespeed_results)

出于此腳本的目的,我使用了Core Web Vital指標以及當(dāng)前Lighthouse版本中使用的其他負載和交互性指標。

這些指標各自具有不同的權(quán)重,然后將它們用于總體績效得分:

  • LCP

  • FID

  • CLS

  • FCP

  • TTI

  • TBT

您可以在上方鏈接的各個目標網(wǎng)頁上找到有關(guān)每個指標的更多信息以及如何解釋分數(shù)的信息。

我還選擇包括速度指數(shù)和整體類別,這些類別將提供慢速,平均或快速得分。

步驟8:從響應(yīng)對象中提取指標

保存響應(yīng)對象后,我們現(xiàn)在可以對其進行過濾并僅提取所需的指標。

在這里,我們將再次使用for循環(huán)遍歷響應(yīng)對象文件,并設(shè)置一系列列表索引以僅返回特定指標。

為此,我們將從DataFrame中定義列名稱,以及為每個URL從中提取每個指標的響應(yīng)對象的特定類別。

for (url, x) in zip(     response_object.keys(),     range(0, len(response_object)) ):          # URLs         df_pagespeed_results.loc[x, 'url'] =\             response_object[url]['lighthouseResult']['finalUrl']          # Overall Category         df_pagespeed_results.loc[x, 'Overall_Category'] =\             response_object[url]['loadingExperience']['overall_category']             # Core Web Vitals               # Largest Contentful Paint             df_pagespeed_results.loc[x, 'Largest_Contentful_Paint'] =\         response_object[url]['lighthouseResult']['audits']['largest-contentful-paint']['displayValue']          # First Input Delay          fid = response_object[url]['loadingExperience']['metrics']['FIRST_INPUT_DELAY_MS']         df_pagespeed_results.loc[x, 'First_Input_Delay'] = fid['percentile']          # Cumulative Layout Shift             df_pagespeed_results.loc[x, 'Cumulative_Layout_Shift'] =\         response_object[url]['lighthouseResult']['audits']['cumulative-layout-shift']['displayValue']          # Additional Loading Metrics           # First Contentful Paint          df_pagespeed_results.loc[x, 'First_Contentful_Paint'] =\         response_object[url]['lighthouseResult']['audits']['first-contentful-paint']['displayValue']          # Additional Interactivity Metrics           # Time to Interactive           df_pagespeed_results.loc[x, 'Time_to_Interactive'] =\         response_object[url]['lighthouseResult']['audits']['interactive']['displayValue']          # Total Blocking Time            df_pagespeed_results.loc[x, 'Total_Blocking_Time'] =\         response_object[url]['lighthouseResult']['audits']['total-blocking-time']['displayValue']          # Speed Index         df_pagespeed_results.loc[x, 'Speed_Index'] =\         response_object[url]['lighthouseResult']['audits']['speed-index']['displayValue']

我已將此腳本設(shè)置為提取上面提到的關(guān)鍵指標,因此您可以立即使用它來收集此數(shù)據(jù)。

但是,可以提取在PSI測試以及Lighthouse分析中都可以找到的許多其他有用指標。

在此JSON文件可用于查看每個指標在列表中的位置。

例如,在從Lighthouse審核中提取指標(例如“互動時間”的顯示值)時,將使用以下內(nèi)容:

df_pagespeed_results.loc[x, 'Time_to_Interactive'] =\ response_object[url]['lighthouseResult']['audits']['interactive']['displayValue']

再一次,重要的是要確保每一個都位于循環(huán)中,否則它們將不會包含在迭代中,并且只會為一個URL生成一個結(jié)果。

步驟9:將DataFrame轉(zhuǎn)換為CSV文件

最后一步是創(chuàng)建一個摘要文件以收集所有結(jié)果,因此我們可以將其轉(zhuǎn)換為易于分析的格式,例如CSV文件。

summary = df_pagespeed_results  df_pagespeed_results.head()  #Download csv file  summary.to_csv('pagespeed_results.csv') files.download('pagespeed_results.csv')

(請注意,此方法用于在Google Colab中轉(zhuǎn)換和下載CSV文件。)

進一步探索數(shù)據(jù)

目前,我們導(dǎo)出的所有指標都存儲為字符串,這是用于文本和字符的Python數(shù)據(jù)類型。

由于我們提取的某些指標實際上是數(shù)字值,因此您可能希望將字符串轉(zhuǎn)換為數(shù)字數(shù)據(jù)類型,例如整數(shù)和浮點數(shù)。

整數(shù),也稱為int,是整數(shù)的數(shù)據(jù)類型,例如1和10。

浮點數(shù),也稱為浮點數(shù),是十進制點數(shù),例如1.0和10.1。

為了將字符串轉(zhuǎn)換為數(shù)字,我們需要執(zhí)行兩個步驟,第一步是將's'字符(用于表示秒)替換為空格。

我們通過在每列上使用.str.replace方法來執(zhí)行此操作。

#Replace the 's' with a blank space so we can turn into numbers df_pagespeed_results['Largest_Contentful_Paint'] = df_pagespeed_results.Largest_Contentful_Paint.str.replace('s', '') df_pagespeed_results['First_Contentful_Paint'] = df_pagespeed_results.First_Contentful_Paint.str.replace('s', '') df_pagespeed_results['Time_to_Interactive'] = df_pagespeed_results.Time_to_Interactive.str.replace('s', '') df_pagespeed_results['Total_Blocking_Time'] = df_pagespeed_results.Total_Blocking_Time.str.replace('ms', '') df_pagespeed_results['Speed_Index'] = df_pagespeed_results.Speed_Index.str.replace('s', '')

然后,我們將使用.astype()方法將字符串轉(zhuǎn)換為整數(shù)或浮點數(shù):

#Turn strings into intergers or floats df_pagespeed_results['Largest_Contentful_Paint'] = df_pagespeed_results.Largest_Contentful_Paint.astype(float) df_pagespeed_results['Cumulative_Layout_Shift'] = df_pagespeed_results.Cumulative_Layout_Shift.astype(int) df_pagespeed_results['First_Contentful_Paint'] = df_pagespeed_results.First_Contentful_Paint.astype(float) df_pagespeed_results['Time_to_Interactive'] = df_pagespeed_results.Time_to_Interactive.astype(float) df_pagespeed_results['Speed_Index'] = df_pagespeed_results.Speed_Index.astype(float)

完成此操作后,您可以使用多種不同的方法進一步評估數(shù)據(jù)。

例如,您可以使用數(shù)據(jù)可視化庫(例如matplotlib或seaborn)來可視化指標,以及測量指標如何隨時間變化并將結(jié)果分組為慢速,中速和快速存儲桶。

感謝各位的閱讀,以上就是“Python怎么監(jiān)視和衡量網(wǎng)站”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python怎么監(jiān)視和衡量網(wǎng)站這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

網(wǎng)站名稱:Python怎么監(jiān)視和衡量網(wǎng)站
網(wǎng)頁網(wǎng)址:http://aaarwkj.com/article44/googee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、動態(tài)網(wǎng)站、網(wǎng)站排名、網(wǎng)站營銷網(wǎng)站制作、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
亚洲av偷拍一区二区三区不卡| 日韩 在线一区二区| 特色特色欧美黄色影院| 国产一级黄色性生活片| 中文字幕二区三区av| 国产高清不卡一区二区| 在线观看国产激情免费视频| 91观看免费完整版高清| 特别黄的日本免费视频| av天天堂网在线播放| 国产日韩精品一区二区三区在线 | 国产亚洲欧美日韩激情在线 | 国产三级精品三线在线观看| 在线观看午夜视频免费| 日韩电影网国产精品| 国产欧美高清在线观看视频| 麻豆成人久久精品二区三| 久国产精品一区国产精品| 欧美av一区二区三区四区| 日韩成人免费观看视频| 国产精品自拍午夜福利| 日韩av熟女人妻一区二| 亚洲免费成人高清电影| 亚洲精品国产高清久久| 精品国内日本一区二区| 欧美日韩国产一下老妇| 日韩夫妻性生活免费视频| 中文字幕日本人妻影视| 日韩不卡一区二区在线观看| 亚欧乱色熟女一区二区三区| 亚洲精品视频久久偷拍| 区一区二区三视频日韩| 黄色片一区二区三区四区| 国产av一级二级三级最新精品| 91九色最新国产在线| 精品久久久久久久中文字幕| 亚洲精品色婷婷一区二区| 精品国产50部农村老熟女av| 亚洲欧美日韩另类在线视频| 欧美日韩亚洲国产极品| 国产一区二区黑丝美女|