亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

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

sumory / 2837人閱讀

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

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

目標

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

分析目標源:

一頁共24條

含分頁,但這個老產(chǎn)品庫,在100頁后會存在問題,因此我們爬取99頁

可以獲取全部城市

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

開始

爬取步驟

獲取全部的城市

拼裝全部城市URL入隊列

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

下一頁URL入隊列

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

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

等待,確定隊列中無新的 URL

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

獲取城市

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

有兩種提取方法

分析JS變量,提取出來

直接將 areaJson 復制出來作為變量解析

在這里我們直接將其復制粘貼出來即可,因為這是比較少變動的值

獲取分頁

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

按照常理,可以通過預測所有分頁鏈接,推入隊列后 go routine 一波 即可快速拉取

但是在這老產(chǎn)品庫存在一個問題,在超過 100 頁后,下一頁永遠是 101 頁

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

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

頁面結(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ù)

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

而其他城市大致都是梯級下降的趨勢,看來一線城市的二手車也是不便宜了,當然這只是均價

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

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

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

通過對標題的分析,可以得知車輛產(chǎn)品庫的命名基本都是品牌名稱+自動/手動+XXXX款+屬性,看標題就能知道個概況了

參考 爬蟲項目地址

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

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/44701.html

相關(guān)文章

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

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

    Harriet666 評論0 收藏0
  • 2016年,我對爬蟲的總結(jié)

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

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

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

    XanaHopper 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<