国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種Selenium數(shù)據(jù)自動獲取技術(shù)的研究應(yīng)用

2021-06-25 09:10:48鄭海鵬
綏化學(xué)院學(xué)報 2021年6期
關(guān)鍵詞:詳細(xì)信息房型二手房

鄭海鵬

(淮南聯(lián)合大學(xué)信息工程學(xué)院 安徽淮南 232001)

目前,數(shù)據(jù)獲取的渠道主要有三種:自有、爬取或購買。其中數(shù)據(jù)爬取方式屬于數(shù)據(jù)自動獲取的范疇,可以通過Python編寫Web站點數(shù)據(jù)獲取自動化測試用例加以實現(xiàn),并可將獲取到的實驗數(shù)據(jù)用于數(shù)據(jù)分析。自動化測試通常用于替代人工方式,去執(zhí)行那些繁雜的、高重復(fù)性的操作,進(jìn)而節(jié)約大量的人力資源。Selenium為Web站點數(shù)據(jù)自動獲取提供了基礎(chǔ)框架,憑借其自身強大的功能,市場占有額越來越高。本文以Python+Selenium為核心,利用Web Driver數(shù)據(jù)驅(qū)動實現(xiàn)了數(shù)據(jù)自動獲取功能。

一、Selenium自動化測試框架

Selenium通常用來編寫Web應(yīng)用的自動化測試腳本。早期Selenium1.x主要使用Selenium RC(Selenium Remote Control)進(jìn)行自動化測試。Selenium2.x集成了Selenium和Web Driver的功能。Selenium可以用來模擬用戶在瀏覽器中的操作。軟件測試開發(fā)人員能夠使用不同的編程語言如Java、Scala、Python等編寫測試腳本,并且兼容在Google Chrome、IE、Firefox等瀏覽器中運行測試腳本[1]。基于Selenium是開源的,測試人員可以按需進(jìn)行個性化定制。

Selenium主要由IDE、Grid和RC三個組件構(gòu)成[2],其中IDE為瀏覽器插件,提供腳本編輯、錄制及回放功能,錄制腳本可以轉(zhuǎn)換為Java、Python、PHP等多種腳本語言;Grid實際上是一個jar包,由hub節(jié)點及node節(jié)點構(gòu)成,可在Dos命令行下執(zhí)行。主要用于測試腳本的分布式處理,允許在多機(jī)及異構(gòu)環(huán)境下運行測試腳本;RC(Remote Control)作為Selenium核心組件,由selenium Server和Client Libraries組成。其中Selenium Server用于控制瀏覽器行為,Client Libraries則在自動化測試腳本執(zhí)行過程中,用以控制selenium Server庫,以便達(dá)到自動化測試目的[3]。在Selenium2.x及后續(xù)版本中,使用Web Driver替代了Selenium RC。其中,Web Driver API是客戶端、Web Driver作為瀏覽器驅(qū)動。對于程序執(zhí)行過程中的每一條Selenium腳本,均會創(chuàng)建一個HTTP請求,并將該HTTP請求發(fā)送給瀏覽器的驅(qū)動Web Driver,由 Web Driver中HTTP Server接收這些 HTTP請求,依據(jù)HTTP Server接收到的請求,來具體操控對應(yīng)瀏覽器。瀏覽器執(zhí)行具體的測試步驟,并將執(zhí)行結(jié)果返回給 HTTP Server,HTTP Server又將結(jié)果返回給 Selenium的腳本[4](Selenium工作流程圖如圖1所示)。其詳細(xì)工作流程如下:

圖1 Selenium工作流程

1)編寫基于Selenium支持的測試腳本程序。

2)執(zhí)行測試腳本程序。

3)Selenium Client向Web Driver發(fā)送請求。

4)Web Driver接收、解析相關(guān)請求,并將請求發(fā)送給瀏覽器。

5)瀏覽器接收請求后,執(zhí)行對應(yīng)操作,返回執(zhí)行結(jié)果。

二、研究方法

(一)實驗數(shù)據(jù)需求分析。本文實驗數(shù)據(jù)來源于域名為http://www.ahcyfc.com的安徽朝陽房產(chǎn)網(wǎng)。打開網(wǎng)站中二手房首頁,仔細(xì)查看其中的某條二手房房產(chǎn)信息(如圖2所示),對其中數(shù)據(jù)做需求分析,為后續(xù)的數(shù)據(jù)獲取及Web前端展示做鋪墊,需要從中提取的房屋詳細(xì)信息包括:二手房所在小區(qū)、戶型、建筑面積、房屋朝向、總價、每平米單價、實際看房人數(shù)。編寫Python程序?qū)隨elenium庫,用以實現(xiàn)該網(wǎng)站數(shù)據(jù)自動化獲取操作。

圖2 二手房詳細(xì)信息

(二)腳本設(shè)計。Selenium兼容多種瀏覽器。編寫測試腳本過程中,需指明具體瀏覽器,本文使用 Firefox。

1.驅(qū)動并打開瀏覽器。

2.定位到對應(yīng)元素。Selenium在操作瀏覽器時,應(yīng)先定位到對應(yīng)的元素。目前,主要有八種定位方法,如表1所示。

表1 Selenium元素定位方法功能描述

在獲取二手房詳細(xì)信息的需求過程中,需要定位二手房所在小區(qū)、戶型、建筑面積、房屋朝向、總價、每平米單價、實際看房人數(shù)等數(shù)據(jù)對象。

3.設(shè)置Selenium定位方法參數(shù)。設(shè)置Selenium定位方法參數(shù)的實際作用是利用數(shù)據(jù)驅(qū)動將數(shù)據(jù)和腳本相分離[5]。本研究主要利用的Selenium定位方法為:find_element_by_xpath,即根據(jù)路徑表達(dá)式來定位二手房測試實驗數(shù)據(jù)。

全選一條二手房信息,選擇:右擊->審查元素,或按F12鍵來查看網(wǎng)頁源碼,發(fā)現(xiàn)房屋詳細(xì)信息的路徑為:

  • (如圖3所示),可以以此為依據(jù),使用Selenium定位方法中的find_element_by_xpath方法進(jìn)行定位。

    圖3 房屋詳細(xì)信息的路徑

    根據(jù)實驗需求,對二手房所在小區(qū)等7個對象數(shù)據(jù)進(jìn)行參數(shù)設(shè)置。具體腳本設(shè)計如下:

    三、數(shù)據(jù)獲取

    (一)數(shù)據(jù)驅(qū)動。在自動獲取實驗數(shù)據(jù)過程中,采用CSV文件格式來存放實驗數(shù)據(jù),在get_houseInfo()方法的末尾加入如下數(shù)據(jù)驅(qū)動腳本代碼:

    (二)程序?qū)崿F(xiàn)。編寫主程序,在主程序中調(diào)用get_houseInfo()方法,具體實現(xiàn)代碼如下:

    運行程序,顯示實驗數(shù)據(jù)獲取過程(如圖4所示),并將實驗數(shù)據(jù)保存至House.csv文件中(如圖5所示),進(jìn)而實現(xiàn)了實驗數(shù)據(jù)的自動獲取。

    圖4 控制臺輸出自動獲取到的實驗數(shù)據(jù)

    圖5 將實驗數(shù)據(jù)保存至House.csv文件

    四、數(shù)據(jù)分析

    本文數(shù)據(jù)分析針對淮南二手房的每平米單價與房屋面積之間做K-Means聚類關(guān)聯(lián)分析,給即將買房的人提供買房意見,具體實現(xiàn)過程主要代碼如下(聚類結(jié)果如圖6所示):

    圖6 房屋單價及面積聚類離散圖

    依據(jù)聚類結(jié)果,將淮南市二手房大體劃分為以下五種類型:

    1.郊區(qū)型(紅色區(qū)域):此類房型多數(shù)地處郊區(qū)、面積適中,價格低廉。對于購房資金不充足的買房人而言,將是不錯的選擇。

    2.市區(qū)中心型(地段好、橙色區(qū)域):此類房型多數(shù)地處淮南市核心地段(交通便捷、多數(shù)為學(xué)區(qū)房),均價最高,而且物以稀為貴在房子上也能驗證。這類房子數(shù)量并不多。建議有一定經(jīng)濟(jì)實力的買家購買,可以獲取周邊更好的配套設(shè)施及教育資源。

    3.剛需型(淺黃色區(qū)域) :此類房型多數(shù)地處市內(nèi),交通便捷,出行辦事方便,面積、價格適中,房源充足。但地段一般,建議有結(jié)婚需求的年輕人購買。

    4.“破舊小”型(淺綠色區(qū)域):此類房型面積最小,建筑歷史年代久遠(yuǎn),集中處于舊城、老城區(qū)。但其價格并不便宜。若短期內(nèi)沒有拆遷需求,不建議購買。

    5.大戶型(藍(lán)色區(qū)域):此類房型面積最大,價格合理,多為別墅、復(fù)式大戶型。建議成功人士購買。

    五、結(jié)語

    本研究實現(xiàn)了Web網(wǎng)站數(shù)據(jù)的自動獲取功能,并對獲取到的實驗數(shù)據(jù)做了簡明的數(shù)據(jù)分析。實驗表明:基于Selenium的自動化測試框架,用于實現(xiàn)數(shù)據(jù)的自動獲取,在很大程度上提高了數(shù)據(jù)的獲取效率[6],可以節(jié)省大量的人力資源。

    猜你喜歡
    詳細(xì)信息房型二手房
    有晶狀體眼后房型人工晶體植入術(shù)治療中高度近視的臨床觀察
    傳統(tǒng)吉祥紋樣在經(jīng)濟(jì)房型家居設(shè)計中的應(yīng)用
    河北畫報(2020年8期)2020-10-27 02:54:24
    請作者在投稿的論文中標(biāo)注詳細(xì)信息
    2021年高考文體寫作系列3:咨詢信
    花卉輻射誘變育種信息數(shù)據(jù)庫的設(shè)計
    二手房買賣之賣方違約糾紛解析
    下半年北京二手房或?qū)⒂瓉斫禍乇P整
    財經(jīng)(2016年19期)2016-08-11 08:07:28
    本市二手房成交量及價格走勢圖
    投資北京(2016年9期)2016-05-14 00:56:58
    抓住客戶需求 促進(jìn)交易達(dá)成——以二手房交易為例
    公告
  • 崇义县| 武威市| 合肥市| 兴城市| 康平县| 克什克腾旗| 顺平县| 泸西县| 交城县| 莱西市| 娱乐| 洞头县| 德庆县| 万宁市| 云南省| 小金县| 望谟县| 定西市| 永清县| 青河县| 建昌县| 正定县| 芒康县| 栾川县| 明溪县| 西和县| 莱州市| 靖宇县| 洛川县| 辽中县| 沁阳市| 平定县| 潼关县| 通辽市| 平原县| 合江县| 安多县| 苗栗市| 藁城市| 两当县| 百色市|