精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

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

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-13 14:18 ? 次閱讀

全文簡介

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

爬蟲部分

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

真實網(wǎng)址是:

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

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

代碼實現(xiàn)

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

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ù)的時候不要爬取太快,除非你有其他的反爬措施,比如更換IP等,另外不需登錄,我在代碼加入了time模塊,用于限制爬取速度。

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

下載下來的數(shù)據(jù)長成這個樣子:

注意標(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)入模塊的時候其他都容易解決,除了wordcloud這個模塊,這個模塊我建議大家手動安裝,如果pip安裝的話,會提示你缺少C++14.0之類的錯誤,導(dǎo)致安裝不上。手動下載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)驗

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

plt.show()

Python熱門崗位

final = ''

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

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

seg_list = list(jieba.cut(data['崗位職稱'][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))))

# 提取價格信息

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("全國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')

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

geo

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

    關(guān)注

    0

    文章

    2

    瀏覽量

    1489

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

    大屏數(shù)據(jù)可視化 開源

    在當(dāng)今信息爆炸的時代,數(shù)據(jù)已經(jīng)成為各個行業(yè)決策制定和業(yè)務(wù)發(fā)展的關(guān)鍵。為了更直觀、準(zhǔn)確地理解和利用海量數(shù)據(jù), 大屏數(shù)據(jù)可視化 成為一種強(qiáng)大的工具。通過將
    的頭像 發(fā)表于 06-27 16:06 ?376次閱讀
    大屏<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b> 開源

    態(tài)勢數(shù)據(jù)可視化技術(shù)有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術(shù)是一種將數(shù)據(jù)以圖形、圖像、動畫等視覺形式展現(xiàn)出來的技術(shù),特別是在處理和分析態(tài)勢數(shù)據(jù)時,該技術(shù)能夠?qū)?fù)雜的數(shù)據(jù)轉(zhuǎn)
    的頭像 發(fā)表于 06-11 15:47 ?352次閱讀

    智慧大屏是如何實現(xiàn)數(shù)據(jù)可視化的?

    智慧大屏,作為數(shù)據(jù)可視化的重要載體,已在城市管理、交通監(jiān)控、商業(yè)運(yùn)營等領(lǐng)域廣泛應(yīng)用。本文旨在闡述智慧大屏實現(xiàn)數(shù)據(jù)可視化的關(guān)鍵技術(shù)和方法,包括數(shù)據(jù)
    的頭像 發(fā)表于 06-04 15:02 ?563次閱讀
    智慧大屏是如何實現(xiàn)<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>的?

    大屏數(shù)據(jù)可視化的作用和意義

    大屏數(shù)據(jù)可視化是指利用大屏幕設(shè)備展示數(shù)據(jù)信息,通過圖表、圖像、動畫等視覺手段將數(shù)據(jù)呈現(xiàn)出來,以便用戶能夠直觀、清晰地理解
    的頭像 發(fā)表于 06-03 17:56 ?631次閱讀

    大屏數(shù)據(jù)可視化是什么?運(yùn)用了什么技術(shù)

    、發(fā)現(xiàn)規(guī)律和趨勢,從而支持決策制定和問題解決。 在大屏數(shù)據(jù)可視化中,常用的技術(shù)包括: 數(shù)據(jù)采集與處理: 數(shù)據(jù)從各種來源(數(shù)據(jù)庫、傳感器、AP
    的頭像 發(fā)表于 05-24 15:35 ?806次閱讀

    智慧城市-可視化,進(jìn)一步提高信息建設(shè)水平

    信息量化、可視化、互動的特點(diǎn),直觀地展示城市管理、服務(wù)、交通、環(huán)境等方面的數(shù)據(jù)。 ? 數(shù)據(jù)視覺平臺 數(shù)據(jù)可視化主要是將城市發(fā)展過程中遇到的問
    的頭像 發(fā)表于 05-22 16:49 ?419次閱讀

    數(shù)據(jù)可視化:企業(yè)數(shù)字建設(shè)效果的呈現(xiàn)

    數(shù)據(jù)可視化即通過圖表的形式將數(shù)據(jù)的內(nèi)在信息有邏輯性地呈現(xiàn)給用戶,使用戶更容易發(fā)現(xiàn)數(shù)據(jù)中蘊(yùn)藏的規(guī)律,找出問題,進(jìn)而做出決策;另一方面,數(shù)據(jù)
    的頭像 發(fā)表于 04-29 10:18 ?419次閱讀
    <b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>:企業(yè)數(shù)字<b class='flag-5'>化</b>建設(shè)效果的呈現(xiàn)

    三維可視化是怎么做的?特點(diǎn)有哪些?

    的應(yīng)用場景中占據(jù)著重要部分,很多業(yè)務(wù)都需要以三維可視化的方式呈現(xiàn)與交互,它能夠幫助用戶更直觀地理解復(fù)雜的數(shù)據(jù)和信息。以下是關(guān)于三維可視化的三維地圖的制作過程以及功能特點(diǎn): 三維地圖制作過程: 1.
    的頭像 發(fā)表于 04-28 15:12 ?462次閱讀
    三維<b class='flag-5'>可視化</b>是怎么做的?特點(diǎn)有哪些?

    態(tài)勢數(shù)據(jù)可視化技術(shù)有哪些

    智慧華盛恒輝態(tài)勢數(shù)據(jù)可視化技術(shù)是一種將復(fù)雜、動態(tài)的態(tài)勢數(shù)據(jù)以直觀、易于理解的方式展現(xiàn)出來的技術(shù)手段。以下是幾種主要的態(tài)勢數(shù)據(jù)可視化技術(shù): 網(wǎng)
    的頭像 發(fā)表于 04-22 15:17 ?381次閱讀

    一鍵生成可視化圖表/大屏 這13款數(shù)據(jù)可視化工具很強(qiáng)大

    前言 數(shù)字經(jīng)濟(jì)時代,我們每天正在處理海量數(shù)據(jù),對數(shù)據(jù)可視化軟件的需求變得突出,它可以幫助人們通過模式、趨勢、儀表板、圖表等視覺輔助工具理解數(shù)據(jù)的重要性。 如果遇到
    的頭像 發(fā)表于 12-19 17:27 ?5252次閱讀
    一鍵生成<b class='flag-5'>可視化</b>圖表/大屏 這13款<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>工具很強(qiáng)大

    數(shù)字時代:關(guān)于數(shù)據(jù)可視化的定義/優(yōu)勢及示例

    毫無意義和難以管理。這就是數(shù)據(jù)可視化發(fā)揮關(guān)鍵作用的地方。 數(shù)據(jù)可視化的定義 “數(shù)據(jù)可視化”的定義
    的頭像 發(fā)表于 12-12 18:04 ?828次閱讀
    數(shù)字時代:關(guān)于<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>可視化</b>的定義/優(yōu)勢及示例