国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    瀏覽量

    1604

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    介質擊穿過程的可視化:電壓擊穿試驗儀中的高速數據采集與波形分析技術

    在絕緣材料介質擊穿試驗中,擊穿過程的瞬時性與復雜性使得直觀觀察成為難題。高速數據采集與波形分析技術的應用,打破了這一局限,通過精準捕捉擊穿全過程的電信號變化并轉化為可視化波形,讓原本不可見的介質擊穿
    的頭像 發表于 02-03 14:00 ?3213次閱讀
    介質擊穿過程的<b class='flag-5'>可視化</b>:電壓擊穿試驗儀中的高速<b class='flag-5'>數據采集</b>與波形分析技術

    工業物聯網可視化平臺是什么?有什么功能?

    工業物聯網可視化平臺是基于物聯網、大數據、人工智能等技術,將工業生產中的設備、系統、流程等數據以圖形方式呈現,實現實時監控、智能分析與交互式管理的數字化工具。 其核心功能涵蓋
    的頭像 發表于 11-17 17:49 ?1268次閱讀

    工業可視化平臺是什么

    工業可視化平臺是一種基于信息技術和可視化技術,將工業生產過程中的數據、信息、流程等以直觀、動態的圖形方式呈現,并實現交互式管理與分析的數字化工具。它通過整合工業物聯網(IIoT)、大
    的頭像 發表于 10-24 18:00 ?1062次閱讀

    光伏電站可視化的實現

    實現光伏電站可視化,核心是在于通過直觀的視覺界面,解決傳統運維中低效巡檢、數據孤島、被動響應等痛點,從而提升運營效率并提供決策支持。這是一種有效的技術手段,通過數字孿生、三維建模、數據
    的頭像 發表于 10-21 17:29 ?1151次閱讀
    光伏電站<b class='flag-5'>可視化</b>的實現

    智慧用電安全解決方案:打造全流程可視化管控

    預警、可視管控”的閉環管理體系,其核心在于實現對電氣安全風險的全流程、可視化、主動性管控。 一、 全域感知與數據采集可視化管控的數據基石
    的頭像 發表于 09-04 16:17 ?760次閱讀
    智慧用電安全解決方案:打造全流程<b class='flag-5'>可視化</b>管控

    宏集方案 | 如何進行產線高階能耗數據的計算和可視化?

    可視化。02關鍵挑戰與對策1HongraxIIoT能耗基礎數據采集面對現場設備類型以及通訊協議的多樣性,宏集eX700M系列HMI支持200+通訊協
    的頭像 發表于 08-08 18:28 ?541次閱讀
    宏集方案 | 如何進行產線高階能耗<b class='flag-5'>數據</b>的計算和<b class='flag-5'>可視化</b>?

    智能工廠為什么需要數據采集物聯網系統

    工廠實現數字、網絡和智能的關鍵基礎設施。以下是智能工廠需要數據采集物聯網系統的核心原因: 一、實現生產過程的透明
    的頭像 發表于 07-18 14:52 ?1001次閱讀

    如何使用協議分析儀進行數據分析與可視化

    使用協議分析儀進行數據分析與可視化,需結合數據捕獲、協議解碼、統計分析及可視化工具,將原始數據轉化為可解讀的圖表和報告。以下是詳細步驟及關鍵
    發表于 07-16 14:16

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

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

    結構可視化:利用數據編輯器剖析數據內在架構?

    結構可視化聚焦于展示數據的內部結構和各部分之間的關系,使企業能夠深入理解數據的組織方式和層次體系,從而更好地進行數據管理和分析。通過結構可視化
    的頭像 發表于 05-07 18:42 ?656次閱讀

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

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

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

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

    可視化組態數據管理平臺是什么

    可視化組態數據管理平臺是一種用于工業自動、物聯網、能源管理等領域的軟件平臺,它結合了可視化和組態技術,幫助用戶實現數據
    的頭像 發表于 04-21 10:00 ?738次閱讀

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

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

    可視化數據大屏:連線構建視覺新秩序 #數據可視化 #可視化大屏

    可視化
    阿梨是蘋果
    發布于 :2025年03月18日 16:12:04