重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
嗨嘍~大家好呀,這里是魔王吶
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網站空間、營銷軟件、網站建設、潢川網站維護、網站推廣。
現在,很多人不是在找工作的途中就是在找工作的路上(我的廢話文學????)
所以我今天來采集一下招聘網站,讓我們來看看找工作主要要學會什么?
win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
在pycharm中點擊Terminal(終端) 輸入安裝命令
解答、教程可加Q:免費獲取哦~
I. F12或者鼠標右鍵點擊檢查 選擇network 刷新網頁
II. 通過關鍵字 搜索找相應數據包
# 導入數據請求模塊 ---> 第三方模塊 需要 pip install requests 導入模塊沒有使用 灰色 import requests # 導入正則模塊---> 內置模塊 不需要安裝 import re # 導入json---> 內置模塊 不需要安裝 import json # 導入格式化輸出模塊---> 內置模塊 不需要安裝 import pprint # 導入csv模塊 import csv # 導入時間模塊 import time # 導入隨機模塊 import random 源碼、解答、教程可加Q裙: # 創建文件 f= open('python招聘10頁.csv', mode='a', encoding='utf-8', newline='') csv_writer= csv.DictWriter(f, fieldnames=[ '職位', '公司名', '薪資', '城市', '經驗', '學歷', '公司類型', '公司規模', '公司領域', '福利待遇', '發布日期', '公司詳情頁', '職位詳情頁', ]) # 寫入表頭 csv_writer.writeheader() """ 1. 發送請求, 對于分析得到url地址發送請求 <模擬瀏覽器對于url發送請求> 模擬瀏覽器---> headers 在開發者工具里面headers下面的 requests headers里面 請求頭, 字典數據類型, 要構建完整鍵值對200]> 說明對于url地址發送請求成功了, 但是不一定得到你想要的數據 被反爬, 狀態碼可能還是200, 但是返回數據不是你想要的內容 """ for page in range(1, 11): print(f'----------------正在采集第{page}頁數據內容----------------') time.sleep(random.randint(1, 2)) # 確定url地址--> 可以直接復制 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 用戶代理, 表示瀏覽器基本身份標識 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36' } # 發送請求 使用什么請求方式, 取決于開發者工具里的內容 response= requests.get(url=url, headers=headers) # 200]> 響應對象 200 狀態碼 請求成功 print(response) # 獲取數據, 獲取服務器返回響應數據---> 獲取文本數據 print(response.text) """ 解析數據 ---> 提取我們想要數據內容 解析方法比較多: re css xpath json解析.... 如何選擇方法 根據返回數據類型以及我想要數據內容情況 re.findall() 調用re模塊里面findall方法 通過re模塊找到所有我們想要數據內容---> 告訴它去哪里找, 找什么樣數據 正則匹配提取出來數據, 返回列表---> """ # 提取招聘數據 re.findall() 源碼、解答、教程可加Q裙: html_data= re.findall('window.__SEARCH_RESULT__ = (.*?)', response.text)[0] # 把字符串數據轉成json字典數據 json_data= json.loads(html_data) # print 打印字典數據, 一行展示 pprint.pprint 打印字典數據類型, 格式化展開的效果 print(json_data) pprint.pprint(json_data) # 字典取值---> 根據鍵值對取值 根據冒號左邊的內容[鍵], 提取冒號右邊的內容[值] # for循環遍歷 把列表里面數據一個一個提取出來 for index in json_data['engine_jds']: # 提取數據, 用字典 保存內容 學歷是敲門磚, 技術才是鐵飯碗.... 畢業出來3500 dit= { '職位': index['job_name'], '公司名': index['company_name'], '薪資': index['providesalary_text'], '城市': index['workarea_text'], '經驗': index['attribute_text'][1], '學歷': index['attribute_text'][-1], '公司類型': index['companytype_text'], '公司規模': index['companysize_text'], '公司領域': index['companyind_text'], '福利待遇': index['jobwelf'], '發布日期': index['issuedate'], '公司詳情頁': index['company_href'], '職位詳情頁': index['job_href'], } # 寫入數據 csv_writer.writerow(dit) print(dit)