日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python画图代码100行_用100行Python代码告诉你国庆那些景点爆满!

發(fā)布時(shí)間:2023/12/8 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画图代码100行_用100行Python代码告诉你国庆那些景点爆满! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

閱讀本文大約需要 7 分鐘

本文轉(zhuǎn)載自zone7

概述

前言

思考

統(tǒng)計(jì)結(jié)果

爬蟲技術(shù)分析

爬蟲代碼實(shí)現(xiàn)

爬蟲分析實(shí)現(xiàn)

后記

前言

舉國歡慶的國慶節(jié)馬上就要到來了,你想好去哪里看人山人海了嗎?還是窩在家里充電學(xué)習(xí)呢?說起國慶,塞車與爆滿這兩個(gè)詞必不可少,去年國慶我在想要是我能提前知道哪些景點(diǎn)爆滿就好了,就不用去湊熱鬧了。于是我開始折騰,想用 python 抓取有關(guān)出行方面的數(shù)據(jù),便有了這篇文章。

弘揚(yáng)一下社會(huì)主義核心價(jià)值觀

思考

(此段可跳過)要抓取出行方面的數(shù)據(jù)還不簡單,直接去看看攜程旅游、馬蜂窩這類網(wǎng)站看看有沒有數(shù)據(jù)抓取。但是實(shí)際上這些網(wǎng)站并沒有比較好的格式化的數(shù)據(jù)供我們抓取,或許是我沒找到吧。我在想,有沒有什么折中的辦法。然而,就這樣半天過去了,突然想到,要出行肯定會(huì)查找相關(guān)的出行攻略吧,那么關(guān)鍵詞就是一個(gè)突破口,可以查詢百度指數(shù)來看看哪些景點(diǎn)被查詢的次數(shù)最多,那么就可以大概知道哪些景點(diǎn)會(huì)爆滿了。

統(tǒng)計(jì)結(jié)果

此次的統(tǒng)計(jì)結(jié)果只是從側(cè)面反映景點(diǎn)爆滿的問題,未必是完全準(zhǔn)確的,僅供參考。此次統(tǒng)計(jì)的景點(diǎn)共有 100 個(gè):

桂林、三亞、泰山的搜索量都是杠杠的,這第一梯隊(duì)的地方能不去就別去了,去了也是人山人海的,爆滿是無疑的了。

捂臉.jpg

top0-10

第二梯隊(duì)的搜索量也不差,日均搜索量還是上萬的,謹(jǐn)慎行動(dòng)。

top10-20

第三梯隊(duì)下來就可以考慮考慮,為了避免不必要的塞車與等待,建議大家還是呆在家里吧!!!

top20-30

第四梯隊(duì)?wèi)?yīng)該沒太大的問題,建議出去溜達(dá)溜達(dá)。

top30-40

都到第五梯隊(duì)了,就可以放心地玩耍了。經(jīng)歷了那么多的煩心事,是該好好放飛一下自己了。

top40-50

爬蟲技術(shù)分析

請求庫:selenium

HTML 解析:使用正則匹配

數(shù)據(jù)可視化:pyecharts

數(shù)據(jù)庫:MongoDB

數(shù)據(jù)庫連接:pymongo

爬蟲分析實(shí)現(xiàn)

此次文章能夠?qū)崿F(xiàn)參考效果,完全是因?yàn)槎稒C(jī)靈。首先是選取爬蟲來源,攜程與馬蜂窩沒有結(jié)構(gòu)化的數(shù)據(jù),我們就換一種思路。首先是想到百度指數(shù),如圖:

百度指數(shù)

但是,分析源代碼之后,你就會(huì)發(fā)現(xiàn)坑爹之處了,它的數(shù)據(jù)都是以圖片展示的,你不能直接獲取到源碼,考慮到國慶馬上就要到來,我換了一個(gè)指數(shù)平臺(tái),轉(zhuǎn)戰(zhàn)搜狗指數(shù),這個(gè)平臺(tái)可以直接獲取到源數(shù)據(jù),關(guān)鍵是,還有微信熱度可以爬取。當(dāng)然,你執(zhí)意要使用百度指數(shù),這里也是有方法的,抓取到數(shù)據(jù)之后,使用圖像識別來識別文中的數(shù)據(jù),提供一篇有思路的文章 [爬蟲實(shí)戰(zhàn)——四大指數(shù)之百度指數(shù)(三)]。

關(guān)于數(shù)據(jù)清洗方面,這里篩選了數(shù)據(jù)量過小,和數(shù)據(jù)量異常大的景點(diǎn),詳情在源碼中查看。

搜狗指數(shù)

#?這是數(shù)據(jù)展示的代碼片段def?show_data(self):????for?index?in?range(5):????????queryArgs?=?{"day_avg_pv":?{"$lt":?100000}}????????rets?=?self.zfdb.national_month_index.find(queryArgs).sort("day_avg_pv",?pymongo.DESCENDING).limit(10).skip(index*10)????????atts?=?[]????????values?=?[]????????file_name?=?"top"?+?str(index?*?10)?+?"-"?+?str((index?+?1)?*?10)?+?".html"????????for?ret?in?rets:????????????print(ret)????????????atts.append(ret["address"])????????????values.append(ret["day_avg_pv"])????????self.show_line("各景點(diǎn)?30?天內(nèi)平均搜索量",?atts,?values)????????os.rename("render.html",?file_name)

爬蟲代碼實(shí)現(xiàn)

由于篇幅原因,這就只展示主要代碼,詳情請查看源碼,點(diǎn)擊閱讀原文獲取源碼。

#?這是數(shù)據(jù)爬取的代碼片段def?get_index_data(self):????try:????????for?url?in?self.get_url():????????????print("當(dāng)前地址為:"?+?url)????????????self.browser.get(url)????????????self.browser.implicitly_wait(10)????????????ret?=?re.findall(r'root.SG.data?=?(.*)}]};',?self.browser.page_source)????????????totalJson?=?json.loads(ret[0]?+?"}]}")????????????topPvDataList?=?totalJson["topPvDataList"]????????????infoList?=?totalJson["infoList"]????????????pvList?=?totalJson["pvList"]????????????for?index,?info?in?enumerate(infoList):????????????????for?pvDate?in?pvList[index]:????????????????????print("index?=>?"+str(index)+"地址?=>?"+info["kwdName"]?+?"日期?=>?"?+?str(pvDate["date"])?+?"?=>?"?+?str(pvDate["pv"])?+?"?=>?"?+?str(????????????????????????info["avgWapPv"])?+?"?=>?"?+?str(info["kwdSumPv"]["sumPv"])?+?"?=>?")????????????????????self.zfdb.national_day_index.insert({????????????????????????"address":?info["kwdName"],??#?地名????????????????????????"date":?pvDate["date"],??#?日期????????????????????????"day_pv":?pvDate["pv"],??#?日訪問量????????????????????})????????????????self.zfdb.national_month_index.insert({????????????????????"address":?info["kwdName"],??#?地名????????????????????"day_avg_pv":?info["avgWapPv"],??#?平均訪問量????????????????????"sum_pv":?info["kwdSumPv"]["sumPv"],??#?總訪問量????????????????})????except?:????????print("exception")

后記

整篇爬蟲文章分析到這里就結(jié)束,不過還是對百度指數(shù)很有執(zhí)念,想找個(gè)時(shí)間寫一篇相關(guān)的文章才行,不搞定它感覺心里有塊疙瘩,或許這就是程序員最后的倔強(qiáng),最后祝大家國慶假期愉快,不用寫代碼。

總結(jié)

以上是生活随笔為你收集整理的python画图代码100行_用100行Python代码告诉你国庆那些景点爆满!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。