真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

讓我們用python來采集招聘數(shù)據(jù)看看找工作都要會(huì)什么吧~

前言

嗨嘍~大家好呀,這里是魔王吶

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、潢川網(wǎng)站維護(hù)、網(wǎng)站推廣。

現(xiàn)在,很多人不是在找工作的途中就是在找工作的路上(我的廢話文學(xué)????)

所以我今天來采集一下招聘網(wǎng)站,讓我們來看看找工作主要要學(xué)會(huì)什么?

環(huán)境使用:

  • Python 3.8
  • Pycharm ---> 漢化插件 translation

模塊使用:

  • requests >>> pip install requests
  • re
  • json
  • csv

如果安裝python第三方模塊:

  1. win + R 輸入 cmd 點(diǎn)擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車

  2. 在pycharm中點(diǎn)擊Terminal(終端) 輸入安裝命令


如何配置pycharm里面的python解釋器?

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Project(項(xiàng)目) >>> python interpreter(python解釋器)
  2. 點(diǎn)擊齒輪, 選擇add
  3. 添加python安裝路徑

pycharm如何安裝插件?

  1. 選擇file(文件) >>> setting(設(shè)置) >>> Plugins(插件)
  2. 點(diǎn)擊 Marketplace 輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese
  3. 選擇相應(yīng)的插件點(diǎn)擊 install(安裝) 即可
  4. 安裝成功之后 是會(huì)彈出 重啟pycharm的選項(xiàng) 點(diǎn)擊確定, 重啟即可生效

基本流程思路: <通用>

解答、教程可加Q:免費(fèi)獲取哦~

一. 數(shù)據(jù)來源分析

  1. 確定需求, 明確采集數(shù)據(jù)內(nèi)容是什么?
  2. 通過開發(fā)者工具進(jìn)行抓包分析, 分析數(shù)據(jù)來源, 請求那個(gè)url地址可以獲取相關(guān)數(shù)據(jù)內(nèi)容

I. F12或者鼠標(biāo)右鍵點(diǎn)擊檢查 選擇network 刷新網(wǎng)頁

II. 通過關(guān)鍵字 搜索找相應(yīng)數(shù)據(jù)包

二. 代碼實(shí)現(xiàn)步驟

  1. 發(fā)送請求, 對于分析得到url地址發(fā)送請求 <模擬瀏覽器對于url發(fā)送請求>
  2. 獲取數(shù)據(jù), 獲取response響應(yīng)數(shù)據(jù) ---> 服務(wù)器返回響應(yīng)數(shù)據(jù)
  3. 解析數(shù)據(jù), 提取我們想要數(shù)據(jù)內(nèi)容 ---> 招聘基本信息
  4. 保存數(shù)據(jù), 保存表格里面
  5. 多頁采集, 多頁數(shù)據(jù)采集

代碼

# 導(dǎo)入數(shù)據(jù)請求模塊  ---> 第三方模塊 需要 pip install requests  導(dǎo)入模塊沒有使用 灰色
import requests
# 導(dǎo)入正則模塊---> 內(nèi)置模塊 不需要安裝
import re
# 導(dǎo)入json---> 內(nèi)置模塊 不需要安裝
import json
# 導(dǎo)入格式化輸出模塊---> 內(nèi)置模塊 不需要安裝
import pprint
# 導(dǎo)入csv模塊
import csv
# 導(dǎo)入時(shí)間模塊
import time
# 導(dǎo)入隨機(jī)模塊
import random
源碼、解答、教程可加Q裙:
# 創(chuàng)建文件
f= open('python招聘10頁.csv', mode='a', encoding='utf-8', newline='')
csv_writer= csv.DictWriter(f, fieldnames=[
'職位',
'公司名',
'薪資',
'城市',
'經(jīng)驗(yàn)',
'學(xué)歷',
'公司類型',
'公司規(guī)模',
'公司領(lǐng)域',
'福利待遇',
'發(fā)布日期',
'公司詳情頁',
'職位詳情頁',
])
# 寫入表頭
csv_writer.writeheader()
"""
1. 發(fā)送請求, 對于分析得到url地址發(fā)送請求 <模擬瀏覽器對于url發(fā)送請求>
    模擬瀏覽器---> headers 在開發(fā)者工具里面headers下面的 requests headers里面
        請求頭, 字典數(shù)據(jù)類型, 要構(gòu)建完整鍵值對
200]>  說明對于url地址發(fā)送請求成功了, 但是不一定得到你想要的數(shù)據(jù)

被反爬, 狀態(tài)碼可能還是200, 但是返回?cái)?shù)據(jù)不是你想要的內(nèi)容
"""
for page in range(1, 11):
    print(f'----------------正在采集第{page}頁數(shù)據(jù)內(nèi)容----------------')
    time.sleep(random.randint(1, 2))
    # 確定url地址--> 可以直接復(fù)制
    url= f'https://search.51job.com/list/0%252C0%252C0%252C0%252C0,000000,0000,00,9,99,python,2,{page}.html'
    # 模擬瀏覽器 headers 請求頭 偽裝
    headers= {
        # User-Agent 用戶代理, 表示瀏覽器基本身份標(biāo)識
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 發(fā)送請求 使用什么請求方式, 取決于開發(fā)者工具里的內(nèi)容
    response= requests.get(url=url, headers=headers)
    #200]>  響應(yīng)對象  200 狀態(tài)碼 請求成功
    print(response)
    # 獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)---> 獲取文本數(shù)據(jù) print(response.text)
"""
    解析數(shù)據(jù)  ---> 提取我們想要數(shù)據(jù)內(nèi)容
        解析方法比較多: re css xpath json解析.... 如何選擇方法 根據(jù)返回?cái)?shù)據(jù)類型以及我想要數(shù)據(jù)內(nèi)容情況
        re.findall() 調(diào)用re模塊里面findall方法
        通過re模塊找到所有我們想要數(shù)據(jù)內(nèi)容---> 告訴它去哪里找, 找什么樣數(shù)據(jù)
    
    正則匹配提取出來數(shù)據(jù), 返回列表---> 
    """
    # 提取招聘數(shù)據(jù) re.findall()
    源碼、解答、教程可加Q裙:
    html_data= re.findall('window.__SEARCH_RESULT__ = (.*?)', response.text)[0]
    # 把字符串?dāng)?shù)據(jù)轉(zhuǎn)成json字典數(shù)據(jù)
    json_data= json.loads(html_data)
    # print 打印字典數(shù)據(jù), 一行展示  pprint.pprint 打印字典數(shù)據(jù)類型, 格式化展開的效果 print(json_data) pprint.pprint(json_data)
    # 字典取值---> 根據(jù)鍵值對取值 根據(jù)冒號左邊的內(nèi)容[鍵], 提取冒號右邊的內(nèi)容[值]
    # for循環(huán)遍歷 把列表里面數(shù)據(jù)一個(gè)一個(gè)提取出來
for index in json_data['engine_jds']:
        # 提取數(shù)據(jù), 用字典 保存內(nèi)容  學(xué)歷是敲門磚, 技術(shù)才是鐵飯碗.... 畢業(yè)出來3500
        dit= {
'職位': index['job_name'],
'公司名': index['company_name'],
'薪資': index['providesalary_text'],
'城市': index['workarea_text'],
'經(jīng)驗(yàn)': index['attribute_text'][1],
'學(xué)歷': index['attribute_text'][-1],
'公司類型': index['companytype_text'],
'公司規(guī)模': index['companysize_text'],
'公司領(lǐng)域': index['companyind_text'],
'福利待遇': index['jobwelf'],
'發(fā)布日期': index['issuedate'],
'公司詳情頁': index['company_href'],
'職位詳情頁': index['job_href'],

        }
        # 寫入數(shù)據(jù)
        csv_writer.writerow(dit)
        print(dit)

本文名稱:讓我們用python來采集招聘數(shù)據(jù)看看找工作都要會(huì)什么吧~
文章鏈接:http://weahome.cn/article/dsoggsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部