當前位置:成語大全網 - 書法字典 - Python爬蟲數據應該做什麽?

Python爬蟲數據應該做什麽?

首先,了解以下功能。

Set變長()函數char _ length()replace()函數max()函數。

1.1.Set變量set @變量名=值。

set @ address =‘中國-山東-聊城-莘縣’;選擇@地址

1.2,length()函數char_length()函數差

選擇長度(“a”)

,char _ length(‘a‘)

,長度(“中等”)

,char _ length(‘中‘)

1.3、替換()函數和長度()函數的組合

set @ address =‘中國-山東-聊城-莘縣’;選擇@地址

,將(@address,‘-‘,‘‘)替換為address_1

,長度(@address)為len_add1

,長度(替換(@地址,‘-‘,‘‘)為len_add2)

,length(@address)-length(替換(@ address,‘-‘,‘‘))as _ count

如果etl清理字段時有明顯的分隔符,如何確定如何向新數據表添加幾個分段字段

計算com_industry中最多有多少個&符號,以確定要添加多少個字段。+1的最大值是可以拆分成的字段數。此表為3,因此可以拆分四個行業字段,即四個行業等級。

select max(length(com _ industry)-length(replace(com _ industry,‘-‘,‘‘))as _ max _ count

來自etl1_socom_data

1.4.設置變量substring_index()字符串截取函數的用法。

set @ address =‘中國-山東-聊城-莘縣’;

挑選

substring _ index(@ address,‘-‘,1)作為中國,

substring _ index(substring _ index(@ address,‘-‘,2),‘-‘,-1)作為省,

substring _ index(substring _ index(@ address,‘-‘,3),‘-‘,-1)作為城市,

substring _ index(@ address,‘-‘,-1)作為區

1.5,條件判斷函數case when

Case when then when then else值以字段名結尾

89》時選擇大小寫;101 then‘大於else且小於‘end as betl 1 _ socom _ data。

二、水壺轉換etl1清洗

首先,表格構建步驟在視頻中。

字段索引中沒有提到索引算法。建議使用BTREE算法來提高查詢效率。

2.1.kettle文件名:trans_etl1_socom_data。

2.2.包括控件:表格輸入》;& gt& gt表格輸出

2.3.數據流方向:s _ socom _ data & gt& gt& gt& gtetl1_socom_data

水壺轉換1截圖

2.4、表輸入2.4、SQL腳本初步清理com_district和com_industry字段。

當com _ district like“% industry”或com _ district like“% weaving”或com _ district like“% education”時,請選擇壹個。*,然後將else com _ districtend作為com _ district1。

,case當com_district像“% industry”或com_district像“% weaving”或com_district像“% education”時,則concat(com _ district,‘-‘,com _ industry)else com _ industry以com _ industry _ total形式結束。

,將(com_addr,‘地址:‘,‘‘)替換為com_addr1。

,將(com_phone,‘電話:‘,‘‘)替換為com_phone1

,將(com_fax,‘川鎮:‘,‘‘)替換為com_fax1

,將(com_mobile,‘移動電話:‘,‘‘)替換為com_mobile1

,將(com_url,‘URL:‘,‘‘)替換為com_url1

,將(com_email,‘電子郵件:‘,‘‘)替換為com_email1

,將(com_contactor,‘contact:‘,‘)替換為com_contactor1

,替換(com _ employees _ nums,‘公司數量:‘,‘‘)ascom _ employees _ nums 1。

,將(com_reg_capital,‘註冊資本:萬元‘,‘‘)替換為com_reg_capital1。

,將(com_type,‘經濟類型:‘,‘‘)替換為com_type1

,將(com_product,‘公司產品:‘,‘‘)替換為com_product1

,將s _ socom _ data中的(com_desc,‘公司簡介:‘,‘‘)ascom _ desc 1替換為

2.5、表格輸出

表格輸出設置的註意事項

註意事項:

①當涉及爬蟲的增量操作時,不要選中剪輯表選項。

②數據連接問題在表格輸出中選擇表格所在的數據庫。

③字段映射問題保證數據流中的字段數量與物理表中的字段數量壹致。

三、釜式轉換etl2清洗

首先,構建表格並添加四個字段來演示視頻中的步驟。

字段索引中沒有提到索引算法。建議使用BTREE算法來提高查詢效率。

字段拆分清洗主要針對etl1生成的新com_industry進行。

3.1.kettle文件名:trans_etl2_socom_data。

3.2.包括控件:表格輸入》;& gt& gt表格輸出

3.3.數據流方向:ETL 1 _ socom _ data & gt;& gt& gt& gtetl2_socom_data

註意事項:

①當涉及爬蟲的增量操作時,不要選中剪輯表選項。

②數據連接問題在表格輸出中選擇表格所在的數據庫。

③字段映射問題保證數據流中的字段數量與物理表中的字段數量壹致。

水壺改造2截圖

3.4.SQL腳本拆分com_industry,並清除所有字段。註冊資本字段的時間關系無需仔細拆解即可調整。

選擇壹個。*,案例

#當長度(com _ industry)= 0且為null時,行業為“”的值設置為null。

#其他人在第壹個分隔符前使用else substring _ index(com _ industry,‘-‘,1)?end as com_industry1,case

當長度(com_industry)-長度(替換(com _ industry,‘-‘,‘‘))= 0時,則為空

#‘交通運輸、倉儲和郵政服務-‘當length(com _ industry)-length(replace(com _ industry,‘-‘,‘‘))= 1且length(substring _ index(com _ industry,‘-‘),-1)= 0時,該值行業2也設置為null當length(com _ industry)-length 652然後substring _ index(com _ industry,‘-‘,-1)else substring _ index(substring _ index(com _ industry,‘-‘,2),‘-‘,-1)結尾為com_industry2,case

when length(com_industry)-length(替換(com _ industry,‘-‘,‘‘))& lt;= 1 then null當length(com _ industry)-length(replace(com _ industry,‘-‘,‘‘))= 2 then?substring _ index(com _ industry,‘-‘,-1)else substring _ index(substring _ index(com _ industry,‘-‘,3),‘-‘,-1)結尾為com_industry3,case

when length(com_industry)-length(替換(com _ industry,‘-‘,‘‘))& lt;=2,則null else substring _ index(com _ industry,‘-‘,-1)以com _ industry 4的形式結束

四、清洗效果質量檢查

4.1爬蟲數據源數據是否與網站數據壹致。

如果爬蟲和數據處理壹起處理,則可以省略該步驟。如果對接的是上遊爬蟲同事,先判斷這壹步,否則清洗也沒用。通常,爬蟲同事需要存儲所請求的url,以便稍後進行數據處理來檢查數據質量。

4.2計算爬蟲數據源和etl清洗數據表的數據量。

註意:SQL腳本中尚未聚合和過濾的三個表的數據量應該相等。

4.2.1,sql查詢如下表。我在同壹個數據庫裏。如果我不在同壹個數據庫中,我應該添加表所在的數據庫的名稱。

當數據很大時,不建議使用。

從s_socom_dataunion all中選擇計數(1)

從etl1_socom_dataunion all中選擇count(1)

從etl2_socom_data中選擇計數(1)

4.2.2水壺轉換完成後的總表輸出比較

kettle表的總數據輸出

4.3檢查etl清洗質量

確保前兩步正確,負責數據處理的etl清洗工作自檢開始為數據源清洗的字段編寫腳本。socom網站主要清洗區域和行業,用冗余字段替換其他字段,因此采用腳本檢查。

找到要檢查的page_url和網站數據。

通過在以下位置書寫,很容易檢查田地的清潔情況

選擇*

來自etl2_socom_data

其中com_district為空,length(com _ industry)-length(replace(com _ industry,‘-‘,‘‘))= 3

該頁面的數據與etl2_socom_data表的最終清理數據進行比較。

網站頁面數據

Etl2_socom_data表格數據

清潔工作完成。