一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python拉勾網(wǎng)數(shù)據(jù)采集與可視化

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:鄧佳佳 ? 2018-03-13 14:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

全文簡(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)

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

import re

import time

import random

# post的網(wǎng)址

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

# 反爬措施

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

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

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

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

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

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

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

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

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

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

'Content-Length': '26',

'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',

'Connection': 'keep-alive',

'Pragma': 'no-cache',

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

for n in range(30):

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

form = {'first':'false',

'kd':'Python',

'pn':str(n)}

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

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

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

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

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

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

data = pd.DataFrame(data)

# 保存在本地

data.to_csv(r'D:Windows 7 DocumentsDesktopMyLaGouDataMatlab.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)格

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

import numpy as np

import matplotlib.pyplot as plt # 繪圖

import jieba # 分詞

from wordcloud importWordCloud# 詞云可視化

import matplotlib as mpl # 配置字體

from pyecharts importGeo# 地理圖

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

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

plt.rcParams["axes.labelsize"] = 16.

plt.rcParams["xtick.labelsize"] = 14.

plt.rcParams["ytick.labelsize"] = 14.

plt.rcParams["legend.fontsize"] = 12.

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ù)覽

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

data = pd.read_csv('D:Windows 7 DocumentsDesktopMyLaGouDataPython.csv',encoding='gbk') # 導(dǎo)入數(shù)據(jù)

data.head()

read_csv路徑不要帶有中文

data.tail()

學(xué)歷要求

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

plt.show()

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

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

plt.show()

Python熱門(mén)崗位

final = ''

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

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

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

for seg in seg_list:

if seg notin stopwords:

final = final + seg + ' '

# final 得到的詞匯

工作地點(diǎn)

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

plt.show()

工作地理圖

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

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

# 提取價(jià)格信息

data3 = pd.DataFrame(data2)

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

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

# 地理位置展示

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

background_color='#404a59')

attr, value = geo.cast(data4)

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

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

geo

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Python Basics
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    1564

原文標(biāo)題:Python拉勾網(wǎng)數(shù)據(jù)采集與可視化

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化

    使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化,需結(jié)合數(shù)據(jù)捕獲、協(xié)議解碼、統(tǒng)計(jì)分析及可視化工具,將原始數(shù)據(jù)轉(zhuǎn)化為可解讀的圖表和報(bào)告。以下是詳細(xì)步驟及關(guān)鍵
    發(fā)表于 07-16 14:16

    工業(yè)設(shè)備可視化管理系統(tǒng)是什么

    工業(yè)設(shè)備可視化管理系統(tǒng)是一種基于物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、云計(jì)算、數(shù)字孿生等技術(shù),對(duì)工業(yè)設(shè)備的運(yùn)行狀態(tài)、性能參數(shù)、維護(hù)信息等進(jìn)行實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)整合與可視化呈現(xiàn)的智能管理平臺(tái)。它通過(guò)將復(fù)
    的頭像 發(fā)表于 05-27 14:56 ?221次閱讀
    工業(yè)設(shè)備<b class='flag-5'>可視化</b>管理系統(tǒng)是什么

    工業(yè)設(shè)備數(shù)據(jù)集中監(jiān)控可視化管理平臺(tái)是什么

    工業(yè)設(shè)備數(shù)據(jù)集中監(jiān)控可視化管理平臺(tái)是一種用于整合、監(jiān)控和可視化工業(yè)設(shè)備數(shù)據(jù)的綜合性系統(tǒng),旨在幫助企業(yè)實(shí)現(xiàn)設(shè)備數(shù)據(jù)的集中管理、實(shí)時(shí)監(jiān)控和
    的頭像 發(fā)表于 05-06 11:10 ?244次閱讀

    可視化組態(tài)物聯(lián)網(wǎng)平臺(tái)是什么

    可視化組態(tài)物聯(lián)網(wǎng)平臺(tái)是物聯(lián)網(wǎng)技術(shù)與組態(tài)技術(shù)相結(jié)合的產(chǎn)物,是通過(guò)提供豐富的圖形組件和可視化元素,讓用戶(hù)能夠以直觀、便捷的方式對(duì)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行監(jiān)控、分析和管理的平臺(tái)。以下是其具體介紹:
    的頭像 發(fā)表于 04-21 10:40 ?306次閱讀

    工業(yè)數(shù)據(jù)采集形成可視化數(shù)據(jù)看板解決方案

    的支持,從而進(jìn)一步提高生產(chǎn)效率、優(yōu)化落后產(chǎn)能,促進(jìn)企業(yè)的高質(zhì)量發(fā)展。 對(duì)此,物通博聯(lián)提供數(shù)據(jù)采集網(wǎng)關(guān)的可視化數(shù)據(jù)看板解決方案。通過(guò)接入PLC、傳感器、數(shù)控機(jī)床、工業(yè)機(jī)器人等設(shè)備,實(shí)時(shí)采集
    的頭像 發(fā)表于 03-19 14:31 ?554次閱讀
    工業(yè)<b class='flag-5'>數(shù)據(jù)采集</b>形成<b class='flag-5'>可視化</b><b class='flag-5'>數(shù)據(jù)</b>看板解決方案

    VirtualLab Fusion中的可視化設(shè)置

    通過(guò)以下控件進(jìn)行重置、加載和保存: 主窗口設(shè)置 字體配置 數(shù)字顯示 文檔窗口設(shè)置 1D數(shù)據(jù)數(shù)組可視化設(shè)置 顏色表 諧波場(chǎng)視圖
    發(fā)表于 02-25 08:51

    七款經(jīng)久不衰的數(shù)據(jù)可視化工具!

    量的激增,單純通過(guò)數(shù)字和文本來(lái)分析數(shù)據(jù)已不再高效。數(shù)據(jù)可視化則提供了一種直觀、互動(dòng)性強(qiáng)的方式,幫助人們通過(guò)視覺(jué)元素,如柱狀圖、折線圖、餅圖、熱力圖等圖表形式,理解復(fù)雜的數(shù)據(jù)關(guān)系。 二
    發(fā)表于 01-19 15:24

    5G工業(yè)數(shù)據(jù)可視化管理平臺(tái)是什么

    5G工業(yè)數(shù)據(jù)可視化管理平臺(tái)是一種集成了數(shù)據(jù)采集、處理、分析和展示功能的綜合性軟件系統(tǒng),它以其獨(dú)特的功能和優(yōu)勢(shì),正在成為工業(yè)數(shù)字轉(zhuǎn)型的重要工具。以下是對(duì)該平臺(tái)的詳細(xì)解析: 一、核心功能
    的頭像 發(fā)表于 12-19 16:28 ?384次閱讀

    什么是大屏數(shù)據(jù)可視化?特點(diǎn)有哪些?

    大屏數(shù)據(jù)可視化是指通過(guò)大屏幕展示大量數(shù)據(jù)和信息,以直觀、可視化的方式幫助用戶(hù)理解和分析數(shù)據(jù)。這種展示方式通常用于展示復(fù)雜的
    的頭像 發(fā)表于 12-16 16:59 ?696次閱讀

    如何找到適合的大屏數(shù)據(jù)可視化系統(tǒng)

    選擇合適的大屏數(shù)據(jù)可視化系統(tǒng)是企業(yè)或組織在數(shù)字轉(zhuǎn)型過(guò)程中至關(guān)重要的一步。一個(gè)優(yōu)秀的大屏數(shù)據(jù)可視化系統(tǒng)能夠?qū)崟r(shí)呈現(xiàn)關(guān)鍵業(yè)務(wù)
    的頭像 發(fā)表于 12-13 15:47 ?496次閱讀

    智慧能源可視化監(jiān)管平臺(tái)——助力可視化能源數(shù)據(jù)管理

    博達(dá)可視化大屏設(shè)計(jì)平臺(tái)在智慧能源領(lǐng)域的價(jià)值體現(xiàn)在實(shí)時(shí)監(jiān)控、數(shù)據(jù)可視化、決策支持和效率提升等方面。借助該平臺(tái),企業(yè)可以輕松搭建智慧能源類(lèi)可視化大屏,更加精確和高效地管理生產(chǎn)和生活,實(shí)現(xiàn)能
    的頭像 發(fā)表于 11-29 10:00 ?959次閱讀
    智慧能源<b class='flag-5'>可視化</b>監(jiān)管平臺(tái)——助力<b class='flag-5'>可視化</b>能源<b class='flag-5'>數(shù)據(jù)</b>管理

    數(shù)字孿生三維可視化場(chǎng)景如何搭建?

    數(shù)字孿生 三維可視化 場(chǎng)景是一種強(qiáng)大的工具,能夠幫助我們模擬和展示現(xiàn)實(shí)世界中的復(fù)雜環(huán)境和系統(tǒng)。從數(shù)據(jù)采集到交互設(shè)計(jì),通過(guò)一系列步驟,可以有效地搭建出逼真動(dòng)態(tài)的數(shù)字孿生三維場(chǎng)景。 數(shù)據(jù)采集與處理:收集
    的頭像 發(fā)表于 11-06 14:40 ?599次閱讀

    康謀技術(shù) | 高效環(huán)境感知:毫米波雷達(dá)數(shù)據(jù)采集可視化及存儲(chǔ)方案

    自動(dòng)駕駛技術(shù)飛速發(fā)展,毫米波雷達(dá)因其出色性能已成為自動(dòng)駕駛傳感器套件的關(guān)鍵!本文以4D毫米波雷達(dá)ARS548為例,為您揭秘毫米波雷達(dá)如何高效實(shí)現(xiàn)數(shù)據(jù)采集、可視化及存儲(chǔ)的策略??靵?lái)了解,一起探索自動(dòng)駕駛的未來(lái)之路!
    的頭像 發(fā)表于 11-06 09:35 ?4066次閱讀
    康謀技術(shù) | 高效環(huán)境感知:毫米波雷達(dá)<b class='flag-5'>數(shù)據(jù)采集</b>、<b class='flag-5'>可視化</b>及存儲(chǔ)方案

    工業(yè)數(shù)據(jù)可視化管理平臺(tái)是什么

    數(shù)據(jù)可視化管理平臺(tái)應(yīng)運(yùn)而生,它以其獨(dú)特的功能和優(yōu)勢(shì),正在成為工業(yè)數(shù)字轉(zhuǎn)型的重要工具。 工業(yè)數(shù)據(jù)可視化管理平臺(tái)的定義 工業(yè)
    的頭像 發(fā)表于 08-28 14:21 ?643次閱讀

    可視化數(shù)據(jù)大屏的制作流程

    制作可視化數(shù)據(jù)大屏是一項(xiàng)涵蓋數(shù)據(jù)分析、設(shè)計(jì)和技術(shù)實(shí)現(xiàn)的復(fù)雜任務(wù)。從數(shù)據(jù)處理到展示呈現(xiàn),每個(gè)步驟都至關(guān)重要。下面將詳細(xì)介紹可視化
    的頭像 發(fā)表于 07-24 13:57 ?1208次閱讀