摘要:原文地址爬取汽車之家二手車產(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...
最近經(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%d,sp 后面為頁(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
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:都說(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é)...
摘要:孔淼大數(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)...
閱讀 2145·2023-04-26 02:19
閱讀 1928·2021-11-19 09:40
閱讀 1715·2021-09-29 09:35
閱讀 3585·2021-09-29 09:34
閱讀 4361·2021-09-07 10:16
閱讀 5572·2021-08-11 11:14
閱讀 3594·2019-08-30 15:54
閱讀 1643·2019-08-30 15:53