中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python拉勾網(wǎng)數(shù)據(jù)采集與可視化



全文簡(jiǎn)介

本文是先采集拉勾網(wǎng)上面的數(shù)據(jù),采集的是Python崗位的數(shù)據(jù),然后用Python進(jìn)行可視化。主要涉及的是爬蟲(chóng)&數(shù)據(jù)可視化的知識(shí)。

爬蟲(chóng)部分

先用Python來(lái)抓取拉勾網(wǎng)上面的數(shù)據(jù),采用的是簡(jiǎn)單好用的requests模塊。主要注意的地方是,拉勾網(wǎng)屬于動(dòng)態(tài)網(wǎng)頁(yè),所以會(huì)用到瀏覽器的F12開(kāi)發(fā)者工具進(jìn)行抓包。抓包以后會(huì)發(fā)現(xiàn),其實(shí)網(wǎng)頁(yè)是一個(gè)POST的形式,所以要提交數(shù)據(jù),提交的數(shù)據(jù)如下圖:

真實(shí)網(wǎng)址是:

https://www.lagou.com/jobs/positionAjax.jsonneedAddtionalResult=false&isSchoolJob=0

在上圖也可以輕松發(fā)現(xiàn):kd是查詢(xún)關(guān)鍵詞,pn是頁(yè)數(shù),可以實(shí)現(xiàn)翻頁(yè)。

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

  1. import requests # 網(wǎng)絡(luò)請(qǐng)求

  2. import re

  3. import time

  4. import random

  5. # post的網(wǎng)址

  6. url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false&isSchoolJob=0'

  7. # 反爬措施

  8. header = {'Host': 'www.lagou.com',

  9. 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',

  10. 'Accept': 'application/json, text/javascript, */*; q=0.01',

  11. 'Accept-Language': 'zh-CN,en-US;q=0.7,en;q=0.3',

  12. 'Accept-Encoding': 'gzip, deflate, br',

  13. 'Referer': 'https://www.lagou.com/jobs/list_Python?labelWords=&fromSearch=true&suginput=',

  14. 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',

  15. 'X-Requested-With': 'XMLHttpRequest',

  16. 'X-Anit-Forge-Token': 'None',

  17. 'X-Anit-Forge-Code': '0',

  18. 'Content-Length': '26',

  19. 'Cookie': 'user_trace_token=20171103191801-9206e24f-9ca2-40ab-95a3-23947c0b972a; _ga=GA1.2.545192972.1509707889; LGUID=20171103191805-a9838dac-c088-11e7-9704-5254005c3644; JSESSIONID=ABAAABAACDBABJB2EE720304E451B2CEFA1723CE83F19CC; _gat=1; LGSID=20171228225143-9edb51dd-ebde-11e7-b670-525400f775ce; PRE_UTM=; PRE_HOST=www.baidu.com; PRE_SITE=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DKkJPgBHAnny1nUKaLpx2oDfUXv9ItIF3kBAWM2-fDNu%26ck%3D3065.1.126.376.140.374.139.129%26shh%3Dwww.baidu.com%26sht%3Dmonline_3_dg%26wd%3D%26eqid%3Db0ec59d100013c7f000000055a4504f6; PRE_LAND=https%3A%2F%2Fwww.lagou.com%2F; LGRID=20171228225224-b6cc7abd-ebde-11e7-9f67-5254005c3644; index_location_city=%E5%85%A8%E5%9B%BD; TG-TRACK-CODE=index_search; SEARCH_ID=3ec21cea985a4a5fa2ab279d868560c8',

  20. 'Connection': 'keep-alive',

  21. 'Pragma': 'no-cache',

  22. 'Cache-Control': 'no-cache'}

  23. for n in range(30):

  24.    # 要提交的數(shù)據(jù)

  25.    form = {'first':'false',

  26.            'kd':'Python',

  27.            'pn':str(n)}

  28.    time.sleep(random.randint(2,5))

  29.    # 提交數(shù)據(jù)

  30.    html = requests.post(url,data=form,headers = header)

  31.    # 提取數(shù)據(jù)

  32.    data = re.findall('{'companyId':.*?,'positionName':'(.*?)','workYear':'(.*?)','education':'(.*?)','jobNature':'(.*?)','financeStage':'(.*?)','companyLogo':'.*?','industryField':'.*?','city':'(.*?)','salary':'(.*?)','positionId':.*?,'positionAdvantage':'(.*?)','companyShortName':'(.*?)','district'',html.text)

  33.    # 轉(zhuǎn)換成數(shù)據(jù)框

  34.    data = pd.DataFrame(data)

  35.    # 保存在本地

  36.    data.to_csv(r'D:\Windows 7 Documents\Desktop\My\LaGouDataMatlab.csv',header = False, index = False, mode = 'a+')

注意:抓取數(shù)據(jù)的時(shí)候不要爬取太快,除非你有其他的反爬措施,比如更換IP等,另外不需登錄,我在代碼加入了time模塊,用于限制爬取速度。

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

下載下來(lái)的數(shù)據(jù)長(zhǎng)成這個(gè)樣子:

注意標(biāo)題(也就是列明)是我自己添加的。

導(dǎo)入模塊并配置繪圖風(fēng)格

  1. import pandas as pd # 數(shù)據(jù)框操作

  2. import numpy as np

  3. import matplotlib.pyplot as plt # 繪圖

  4. import jieba # 分詞

  5. from wordcloud import WordCloud # 詞云可視化

  6. import matplotlib as mpl  # 配置字體

  7. from pyecharts import Geo # 地理圖

  8. mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei']

  9. # 配置繪圖風(fēng)格

  10. plt.rcParams['axes.labelsize'] = 16.  

  11. plt.rcParams['xtick.labelsize'] = 14.

  12. plt.rcParams['ytick.labelsize'] = 14.

  13. plt.rcParams['legend.fontsize'] = 12.

  14. plt.rcParams['figure.figsize'] = [15., 15.]

注意:導(dǎo)入模塊的時(shí)候其他都容易解決,除了wordcloud這個(gè)模塊,這個(gè)模塊我建議大家手動(dòng)安裝,如果pip安裝的話,會(huì)提示你缺少C++14.0之類(lèi)的錯(cuò)誤,導(dǎo)致安裝不上。手動(dòng)下載whl文件就可以順利安裝了。

數(shù)據(jù)預(yù)覽

  1. # 導(dǎo)入數(shù)據(jù)

  2. data = pd.read_csv('D:\\Windows 7 Documents\\Desktop\\My\\LaGouDataPython.csv',encoding='gbk')  # 導(dǎo)入數(shù)據(jù)

  3. data.head()

read_csv路徑不要帶有中文

  1. data.tail()

學(xué)歷要求

  1. data['學(xué)歷要求'].value_counts().plot(kind='barh',rot=0)

  2. plt.show()

工作經(jīng)驗(yàn)

  1. data['工作經(jīng)驗(yàn)'].value_counts().plot(kind='bar',rot=0,color='b')

  2. plt.show()

Python熱門(mén)崗位

  1. final = ''  

  2. stopwords = ['PYTHON','python','Python','工程師','(',')','/'] # 停止詞

  3. for n in range(data.shape[0]):

  4.    seg_list = list(jieba.cut(data['崗位職稱(chēng)'][n]))

  5.    for seg in seg_list:  

  6.        if seg not in stopwords:  

  7.                final = final + seg + ' '

  8. # final 得到的詞匯

工作地點(diǎn)

  1. data['工作地點(diǎn)'].value_counts().plot(kind='pie',autopct='%1.2f%%',explode = np.linspace(0,1.5,25))

  2. plt.show()

工作地理圖

  1. # 提取數(shù)據(jù)框

  2. data2 = list(map(lambda x:(data['工作地點(diǎn)'][x],eval(re.split('k|K',data['工資'][x])[0])*1000),range(len(data))))

  3. # 提取價(jià)格信息

  4. data3 = pd.DataFrame(data2)

  5. # 轉(zhuǎn)化成Geo需要的格式

  6. data4 = list(map(lambda x:(data3.groupby(0).mean()[1].index[x],data3.groupby(0).mean()[1].values[x]),range(len(data3.groupby(0)))))

  7. # 地理位置展示

  8. geo = Geo('全國(guó)Python工資布局', '制作人:挖掘機(jī)小王子', title_color='#fff', title_pos='left', width=1200, height=600,

  9. background_color='#404a59')

  10. attr, value = geo.cast(data4)

  11. geo.add('', attr, value, type='heatmap', is_visualmap=True, visual_range=[0, 300], visual_text_color='#fff')

  12. # 中國(guó)地圖Python工資,此分布是最低薪資

  13. geo

本文作者

?

挖掘機(jī)小王子,數(shù)據(jù)分析愛(ài)好者。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
python爬取拉勾網(wǎng)數(shù)據(jù)并進(jìn)行數(shù)據(jù)可視化
【干貨】Python使用matplotlib實(shí)現(xiàn)數(shù)據(jù)可視化
高級(jí)爬蟲(chóng)(三):使用Scrapy爬取拉勾網(wǎng)數(shù)據(jù)并寫(xiě)入數(shù)據(jù)庫(kù)
【Python | 雜代碼】爬蟲(chóng),從基礎(chǔ)到進(jìn)階(二)
python外國(guó)網(wǎng)站爬蟲(chóng)10分鐘教你用python爬取網(wǎng)站信息這可能是全網(wǎng)最好用的爬蟲(chóng)代碼
自學(xué) Python 到什么程度能找到工作,1300+ 條招聘信息告訴你答案
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服