在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python拉勾網數據采集與可視化

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

全文簡介

本文是先采集拉勾網上面的數據,采集的是Python崗位的數據,然后用Python進行可視化。主要涉及的是爬蟲&數據可視化的知識。

爬蟲部分

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

真實網址是:

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

在上圖也可以輕松發現:kd是查詢關鍵詞,pn是頁數,可以實現翻頁。

代碼實現

import requests # 網絡請求

import re

import time

import random

# post的網址

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):

# 要提交的數據

form = {'first':'false',

'kd':'Python',

'pn':str(n)}

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

# 提交數據

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

# 提取數據

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

# 轉換成數據框

data = pd.DataFrame(data)

# 保存在本地

data.to_csv(r'D:Windows 7 DocumentsDesktopMyLaGouDataMatlab.csv',header = False, index = False, mode = 'a+')

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

數據可視化

下載下來的數據長成這個樣子:

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

導入模塊并配置繪圖風格

import pandas as pd # 數據框操作

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"]

# 配置繪圖風格

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.]

注意:導入模塊的時候其他都容易解決,除了wordcloud這個模塊,這個模塊我建議大家手動安裝,如果pip安裝的話,會提示你缺少C++14.0之類的錯誤,導致安裝不上。手動下載whl文件就可以順利安裝了。

數據預覽

# 導入數據

data = pd.read_csv('D:Windows 7 DocumentsDesktopMyLaGouDataPython.csv',encoding='gbk') # 導入數據

data.head()

read_csv路徑不要帶有中文

data.tail()

學歷要求

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

plt.show()

工作經驗

data['工作經驗'].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 得到的詞匯

工作地點

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

plt.show()

工作地理圖

# 提取數據框

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

# 提取價格信息

data3 = pd.DataFrame(data2)

# 轉化成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工資布局", "制作人:挖掘機小王子", 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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Python Basics
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1523

原文標題:Python拉勾網數據采集與可視化

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    5G工業數據可視化管理平臺是什么

    5G工業數據可視化管理平臺是一種集成了數據采集、處理、分析和展示功能的綜合性軟件系統,它以其獨特的功能和優勢,正在成為工業數字轉型的重要工具。以下是對該平臺的詳細解析: 一、核心功能
    的頭像 發表于 12-19 16:28 ?143次閱讀

    什么是大屏數據可視化?特點有哪些?

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

    如何找到適合的大屏數據可視化系統

    選擇合適的大屏數據可視化系統是企業或組織在數字轉型過程中至關重要的一步。一個優秀的大屏數據可視化系統能夠實時呈現關鍵業務
    的頭像 發表于 12-13 15:47 ?134次閱讀

    智慧能源可視化監管平臺——助力可視化能源數據管理

    博達可視化大屏設計平臺在智慧能源領域的價值體現在實時監控、數據可視化、決策支持和效率提升等方面。借助該平臺,企業可以輕松搭建智慧能源類可視化大屏,更加精確和高效地管理生產和生活,實現能
    的頭像 發表于 11-29 10:00 ?367次閱讀
    智慧能源<b class='flag-5'>可視化</b>監管平臺——助力<b class='flag-5'>可視化</b>能源<b class='flag-5'>數據</b>管理

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

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

    工業數據可視化管理平臺是什么

    數據可視化管理平臺應運而生,它以其獨特的功能和優勢,正在成為工業數字轉型的重要工具。 工業數據可視化管理平臺的定義 工業
    的頭像 發表于 08-28 14:21 ?311次閱讀

    可視化數據大屏的制作流程

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

    大屏數據可視化 開源

    在當今信息爆炸的時代,數據已經成為各個行業決策制定和業務發展的關鍵。為了更直觀、準確地理解和利用海量數據, 大屏數據可視化 成為一種強大的工具。通過將
    的頭像 發表于 06-27 16:06 ?419次閱讀
    大屏<b class='flag-5'>數據</b><b class='flag-5'>可視化</b> 開源

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一種將數據以圖形、圖像、動畫等視覺形式展現出來的技術,特別是在處理和分析態勢數據時,該技術能夠將復雜的數據
    的頭像 發表于 06-11 15:47 ?385次閱讀

    智慧大屏是如何實現數據可視化的?

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

    大屏數據可視化的作用和意義

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

    大屏數據可視化是什么?運用了什么技術

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

    智慧城市-可視化,進一步提高信息建設水平

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

    三維可視化是怎么做的?特點有哪些?

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

    態勢數據可視化技術有哪些

    智慧華盛恒輝態勢數據可視化技術是一種將復雜、動態的態勢數據以直觀、易于理解的方式展現出來的技術手段。以下是幾種主要的態勢數據可視化技術: 網
    的頭像 發表于 04-22 15:17 ?419次閱讀
    主站蜘蛛池模板: 91成人免费观看| 天天操夜夜骑| 国产一区二区三区美女在线观看 | 青青伊人91久久福利精品| 午夜视频在线免费观看| 午夜视频免费在线观看| 天天操网站| 久久精品国产福利国产琪琪| 久久久久久天天夜夜天天| 97久草| 老湿影院免费体验区| 91中文字幕在线视频| 欧美亚洲h在线一区二区| 亚洲人成人| 成人永久免费视频| 成人午夜性a一级毛片美女| 亚洲免费看片| 久久成人影视| 免费视频观看| 久久国产精品免费观看| 亚洲 欧美 日韩 综合| 日本精品一在线观看视频| 亚洲性后网| 色男人网| 黄色大片播放| 亚洲情a成黄在线观看动| 久久人人干| 32pao强力打造免费高速高清| 99久久精品免费看国产免费| 日本一视频一区视频二区| 99久久国产免费 - 99久久国产免费 | 欧美性久久久久| 国产handjob手交在线播放| 久草老司机| 在线jlzzjlzz免费播放| 欧美成人午夜影院| 中文字幕一二三区| 亚洲欧美一区二区久久香蕉| 欧美日韩国产成人高清视频| 丁香婷婷影院| 狠狠躁天天躁|