成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Golang爬蟲(chóng) 爬取汽車之家 二手車產(chǎn)品庫(kù)

sumory / 2740人閱讀

摘要:原文地址爬取汽車之家二手車產(chǎn)品庫(kù)項(xiàng)目地址目標(biāo)最近經(jīng)常有人在耳邊提起汽車之家,也好奇二手車在國(guó)內(nèi)的價(jià)格是怎么樣的,因此本次的目標(biāo)站點(diǎn)是汽車之家的二手車產(chǎn)品庫(kù)分析目標(biāo)源一頁(yè)共條含分頁(yè),但這個(gè)老產(chǎn)品庫(kù),在頁(yè)后會(huì)存在問(wèn)題,因此我們爬取頁(yè)可以獲取全

原文地址:爬取汽車之家 二手車產(chǎn)品庫(kù)
項(xiàng)目地址:https://github.com/go-crawler...

目標(biāo)

最近經(jīng)常有人在耳邊提起汽車之家,也好奇二手車在國(guó)內(nèi)的價(jià)格是怎么樣的,因此本次的目標(biāo)站點(diǎn)是 汽車之家 的二手車產(chǎn)品庫(kù)

分析目標(biāo)源:

一頁(yè)共24條

含分頁(yè),但這個(gè)老產(chǎn)品庫(kù),在100頁(yè)后會(huì)存在問(wèn)題,因此我們爬取99頁(yè)

可以獲取全部城市

共可爬取 19w+ 數(shù)據(jù)

開(kāi)始

爬取步驟

獲取全部的城市

拼裝全部城市URL入隊(duì)列

解析二手車頁(yè)面結(jié)構(gòu)

下一頁(yè)URL入隊(duì)列

循環(huán)拉取所有分頁(yè)的二手車數(shù)據(jù)

循環(huán)拉取隊(duì)列中城市的二手車數(shù)據(jù)

等待,確定隊(duì)列中無(wú)新的 URL

爬取的二手車數(shù)據(jù)入庫(kù)

獲取城市

通過(guò)頁(yè)面查看,可發(fā)現(xiàn)在城市篩選區(qū)可得到全部的二手車城市列表,但是你仔細(xì)查閱代碼。會(huì)發(fā)現(xiàn)它是JS加載進(jìn)來(lái)的,城市也統(tǒng)一放在了一個(gè)變量中

有兩種提取方法

分析JS變量,提取出來(lái)

直接將 areaJson 復(fù)制出來(lái)作為變量解析

在這里我們直接將其復(fù)制粘貼出來(lái)即可,因?yàn)檫@是比較少變動(dòng)的值

獲取分頁(yè)

通過(guò)分析頁(yè)面可以得知分頁(yè)鏈接是有一定規(guī)律的,例如:/2sc/hangzhou/a0_0msdgscncgpi1ltocsp2exb4/,可以發(fā)現(xiàn) sp%dsp 后面為頁(yè)碼

按照常理,可以通過(guò)預(yù)測(cè)所有分頁(yè)鏈接,推入隊(duì)列后 go routine 一波 即可快速拉取

但是在這老產(chǎn)品庫(kù)存在一個(gè)問(wèn)題,在超過(guò) 100 頁(yè)后,下一頁(yè)永遠(yuǎn)是 101 頁(yè)

因此我們采取比較傳統(tǒng)的做法,通過(guò)拉取下一頁(yè)的鏈接去訪問(wèn),以便適應(yīng)可能的分頁(yè)鏈接改變; 100 頁(yè)以后的分頁(yè)展示也很奇怪,先忽視

獲取二手車數(shù)據(jù)

頁(yè)面結(jié)構(gòu)較為固定,常規(guī)的清洗 HTML 即可

func GetCars(doc *goquery.Document) (cars []QcCar) {
    cityName := GetCityName(doc)
    doc.Find(".piclist ul li:not(.line)").Each(func(i int, selection *goquery.Selection) {
        title := selection.Find(".title a").Text()
        price := selection.Find(".detail .detail-r").Find(".colf8").Text()
        kilometer := selection.Find(".detail .detail-l").Find("p").Eq(0).Text()
        year := selection.Find(".detail .detail-l").Find("p").Eq(1).Text()

        kilometer = strings.Join(compileNumber.FindAllString(kilometer, -1), "")
        year = strings.Join(compileNumber.FindAllString(strings.TrimSpace(year), -1), "")
        priceS, _ := strconv.ParseFloat(price, 64)
        kilometerS, _ := strconv.ParseFloat(kilometer, 64)
        yearS, _ := strconv.Atoi(year)

        cars = append(cars, QcCar{
            CityName: cityName,
            Title: title,
            Price: priceS,
            Kilometer: kilometerS,
            Year: yearS,
        })
    })

    return cars
}
數(shù)據(jù)

在各城市的平均價(jià)格對(duì)比中,我們可以發(fā)現(xiàn)北上廣深里的北京、上海、深圳都在榜單上,而近年勢(shì)頭較猛的杭州直接占領(lǐng)了榜首,且后幾名都有一些距離

而其他城市大致都是梯級(jí)下降的趨勢(shì),看來(lái)一線城市的二手車也是不便宜了,當(dāng)然這只是均價(jià)

我們可以看到價(jià)格和公里數(shù)的對(duì)比,上海、成都、鄭州的等比差異是有點(diǎn)大,感覺(jué)有需求的話可以在價(jià)格和公里數(shù)上做一個(gè)衡量

這圖有點(diǎn)兒有趣,粗略的統(tǒng)計(jì)了一下總公里數(shù)。在前幾張圖里,平均價(jià)格排名較高的統(tǒng)統(tǒng)沒(méi)有出現(xiàn)在這里,反倒是呼和浩特、大慶、中山等出現(xiàn)在了榜首

是否側(cè)面反應(yīng)了一線城市的車輛更新?lián)Q代較快,而較后的城市的車輛倒是換代較慢,公里數(shù)基本都杠杠的

通過(guò)對(duì)標(biāo)題的分析,可以得知車輛產(chǎn)品庫(kù)的命名基本都是品牌名稱+自動(dòng)/手動(dòng)+XXXX款+屬性,看標(biāo)題就能知道個(gè)概況了

參考 爬蟲(chóng)項(xiàng)目地址

https://github.com/go-crawler...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44701.html

相關(guān)文章

  • 首次公開(kāi),整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 2016年,我對(duì)爬蟲(chóng)的總結(jié)

    摘要:都說(shuō)年末了,該給自己寫(xiě)寫(xiě)總結(jié)了。我現(xiàn)在做一些簡(jiǎn)單的爬蟲(chóng)都會(huì)用它。并且對(duì)數(shù)據(jù)的實(shí)時(shí)性要求較高,或者爬數(shù)據(jù)的時(shí)候封的太厲害了。對(duì)于這一類的爬蟲(chóng)。消息隊(duì)列用于分發(fā)消息給某個(gè)爬蟲(chóng)節(jié)點(diǎn)。爬蟲(chóng)節(jié)點(diǎn)完成具體的爬蟲(chóng),格式化爬蟲(chóng)數(shù)據(jù)。最后,感謝我的,謝謝 都說(shuō)年末了,該給自己寫(xiě)寫(xiě)總結(jié)了。今天我想談一談的是我在公司這一年多里的負(fù)責(zé)的部分工作---爬蟲(chóng)。做了這么久的爬蟲(chóng),是該寫(xiě)點(diǎn)什么,留下點(diǎn)什么。在我所負(fù)責(zé)...

    netmou 評(píng)論0 收藏0
  • 技術(shù)培訓(xùn) | 大數(shù)據(jù)分析處理與用戶畫(huà)像實(shí)踐

    摘要:孔淼大數(shù)據(jù)分析處理與用戶畫(huà)像實(shí)踐直播內(nèi)容如下今天咱們就來(lái)閑聊下我過(guò)去接觸過(guò)的數(shù)據(jù)分析領(lǐng)域,因?yàn)槲沂沁B續(xù)創(chuàng)業(yè)者,所以我更多的注意力還是聚焦在解決問(wèn)題和業(yè)務(wù)場(chǎng)景上。在對(duì)微博數(shù)據(jù)進(jìn)行上面提到的計(jì)算分析之前,我們其實(shí)還做了很多數(shù)據(jù)處理的工作。 孔淼:大數(shù)據(jù)分析處理與用戶畫(huà)像實(shí)踐 直播內(nèi)容如下: 今天咱們就來(lái)閑聊下我過(guò)去接觸過(guò)的數(shù)據(jù)分析領(lǐng)域,因?yàn)槲沂沁B續(xù)創(chuàng)業(yè)者,所以我更多的注意力還是聚焦在解決問(wèn)...

    XanaHopper 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<