在线观看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

    瀏覽量

    1553

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業設備可視化管理系統是什么

    工業設備可視化管理系統是一種基于物聯網(IoT)、大數據、云計算、數字孿生等技術,對工業設備的運行狀態、性能參數、維護信息等進行實時監測、數據整合與可視化呈現的智能管理平臺。它通過將復
    的頭像 發表于 05-27 14:56 ?167次閱讀
    工業設備<b class='flag-5'>可視化</b>管理系統是什么

    工業設備數據集中監控可視化管理平臺是什么

    工業設備數據集中監控可視化管理平臺是一種用于整合、監控和可視化工業設備數據的綜合性系統,旨在幫助企業實現設備數據的集中管理、實時監控和
    的頭像 發表于 05-06 11:10 ?186次閱讀

    可視化組態物聯網平臺是什么

    可視化組態物聯網平臺是物聯網技術與組態技術相結合的產物,是通過提供豐富的圖形組件和可視化元素,讓用戶能夠以直觀、便捷的方式對物聯網數據進行監控、分析和管理的平臺。以下是其具體介紹:
    的頭像 發表于 04-21 10:40 ?250次閱讀

    工業數據采集形成可視化數據看板解決方案

    的支持,從而進一步提高生產效率、優化落后產能,促進企業的高質量發展。 對此,物通博聯提供數據采集網關的可視化數據看板解決方案。通過接入PLC、傳感器、數控機床、工業機器人等設備,實時采集
    的頭像 發表于 03-19 14:31 ?509次閱讀
    工業<b class='flag-5'>數據采集</b>形成<b class='flag-5'>可視化</b><b class='flag-5'>數據</b>看板解決方案

    VirtualLab Fusion中的可視化設置

    通過以下控件進行重置、加載和保存: 主窗口設置 字體配置 數字顯示 文檔窗口設置 1D數據數組可視化設置 顏色表 諧波場視圖
    發表于 02-25 08:51

    七款經久不衰的數據可視化工具!

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

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

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

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

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

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

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

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

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

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

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

    康謀技術 | 高效環境感知:毫米波雷達數據采集可視化及存儲方案

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

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

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

    工業數據實時采集可視化管理系統方案

    工作繁重,同時也無法保證數據的準確性,常常管理人員取得集中處理后的數據已經是滯后一兩天了;而對于現場的不良產品信息及相關的產量數據,如何實現高效率、簡潔、實時的數據采集更是一大難題。
    的頭像 發表于 08-22 13:44 ?459次閱讀

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

    制作可視化數據大屏是一項涵蓋數據分析、設計和技術實現的復雜任務。從數據處理到展示呈現,每個步驟都至關重要。下面將詳細介紹可視化
    的頭像 發表于 07-24 13:57 ?1096次閱讀
    主站蜘蛛池模板: 99热最新 | 欧美成人a | 欧美人与动另类在线 | 最近高清在线视频观看免费 | 高清成年美女xx免费网站黄 | 久久婷婷激情 | 色站视频 | 性欧美videofree视频另类 | h在线观看视频 | 色狠狠综合网 | 欧美深深色噜噜狠狠yyy | 色婷婷电影 | 四虎国产精品成人永久免费影视 | h黄视频在线观看 | 欧美一级免费 | 国产精品福利久久 | 四虎永久影院永久影库 | 在线资源站 | 欧美在线观看视频一区 | 亚洲成a人片7777 | 国产片一区二区三区 | 欧美一卡二卡科技有限公司 | 人人天天爱天天做天天摸 | 性色综合| 午夜亚洲精品 | 亚洲黄色成人 | 1024你懂的国产日韩欧美 | 亚洲精品日韩专区silk | 欧美一级特黄aaaaaa在线看片 | 性香港xxxxx免费视频播放 | 亚洲涩综合 | 狼人射综合 | 国产精品第9页 | 天天拍天天射 | 天天爱天天射 | 午夜视频色 | 性欧美极品 | 久久中出 | 香港经典a毛片免费观看爽爽影院 | 五月婷婷视频在线观看 | 午夜美女网站 |