Python爬蟲(chóng)實(shí)戰(zhàn)演練之采集拉鉤網(wǎng)招聘信息數(shù)據(jù)
本文要點(diǎn):
- 爬蟲(chóng)的基本流程
- requests模塊的使用
- 保存csv
- 可視化分析展示
環(huán)境介紹
- python 3.8
- pycharm 2021專(zhuān)業(yè)版 激活碼
- Jupyter Notebook
pycharm 是編輯器 >> 用來(lái)寫(xiě)代碼的 (更方便寫(xiě)代碼, 寫(xiě)代碼更加舒適)
python 是解釋器 >>> 運(yùn)行解釋python代碼的
本次目標(biāo)

爬蟲(chóng)塊使用
內(nèi)置模塊:
- import pprint >>> 格式化輸入模塊
- import csv >>> 保存csv文件
- import re >>> re 正則表達(dá)式
- import time >>> 時(shí)間模塊
第三方模塊:
- import requests >>> 數(shù)據(jù)請(qǐng)求模塊 pip install requests
win + R 輸入cmd,回車(chē)輸入安裝命令pip install 模塊名。
如果出現(xiàn)爆紅,可能是因?yàn)?,網(wǎng)絡(luò)連接超時(shí),切換國(guó)內(nèi)鏡像源
代碼實(shí)現(xiàn)步驟: (爬蟲(chóng)代碼基本步驟)
- 發(fā)送請(qǐng)求
- 獲取數(shù)據(jù)
- 解析數(shù)據(jù)
- 保存數(shù)據(jù)
開(kāi)始代碼
導(dǎo)入模塊
import requests # 數(shù)據(jù)請(qǐng)求模塊 第三方模塊 pip install requests import pprint # 格式化輸出模塊 import csv # csv保存數(shù)據(jù) import time
發(fā)送請(qǐng)求
url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
# headers 請(qǐng)求頭 用來(lái)偽裝python代碼, 防止被識(shí)別出是爬蟲(chóng)程序, 然后被反爬
# user-agent: 瀏覽器的基本標(biāo)識(shí)
headers = {
'cookie': 'privacyPolicyPopup=false; user_trace_token=20211016201224-ba4d90f0-3db5-4647-a86e-411ee3d5bfef; __lg_stoken__=08639898fbdd53a7ebf88fa16e895b59a51e47738f45faef6a32b9a88d6537bf9459b2c6d956a636a99ff599c6a260f04514df42cb77f83065d55f48a2549e60381e8da811b8; JSESSIONID=ABAAAECAAEBABIIE72FFC38A79322951663B5C7AF10CD12; WEBTJ-ID=20211016201225-17c89047f4293-0d7a7cd583dc83-b7a1438-2073600-17c89047f43a90; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217c8904800d57b-04f17ed5193984-b7a1438-2073600-17c8904800e765%22%2C%22%24device_id%22%3A%2217c8904800d57b-04f17ed5193984-b7a1438-2073600-17c8904800e765%22%7D; PRE_UTM=; PRE_HOST=; PRE_LAND=https%3A%2F%2Fwww.lagou.com%2Fjobs%2Flist%5Fpython%3FlabelWords%3D%26fromSearch%3Dtrue%26suginput%3D; LGSID=20211016201225-7b8aa578-74ab-4b09-885c-ebbe57a6029a; PRE_SITE=; LGUID=20211016201225-fda15dbb-7823-4a2d-9d80-258caf018f02; _ga=GA1.2.903785807.1634386346; _gat=1; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1634386346; _gid=GA1.2.701447082.1634386346; X_HTTP_TOKEN=ba154973a88f2f64153683436141effc1d544fa2ed; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1634386352; LGRID=20211016201232-8913a057-d37d-41c3-b094-a04cf36515a7; SEARCH_ID=ff32d1294b464305b4e0907f659ef2a7',
'referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
}
data = {
'first': 'false',
'pn': page,
'kd': 'python',
'sid': 'bf8ed05047294473875b2c8373df0357'
}
# response 自定義變量 可以自己定義
response = requests.post(url=url, data=data, headers=headers)
<Response [200]> 獲取服務(wù)器給我們響應(yīng)數(shù)據(jù)
解析數(shù)據(jù)
json數(shù)據(jù)最好解析 非常好解析, 就根據(jù)字典鍵值對(duì)取值
result = response.json()['content']['positionResult']['result']
# 循環(huán)遍歷 從 result 列表里面 把元素一個(gè)一個(gè)提取出來(lái)
for index in result:
# pprint.pprint(index)
# href = index['positionId']
href = f'https://www.lagou.com/jobs/{index["positionId"]}.html'
dit = {
'標(biāo)題': index['positionName'],
'地區(qū)': index['city'],
'公司名字': index['companyFullName'],
'薪資': index['salary'],
'學(xué)歷': index['education'],
'經(jīng)驗(yàn)': index['workYear'],
'公司標(biāo)簽': ','.join(index['companyLabelList']),
'詳情頁(yè)': href,
}
# ''.join() 把列表轉(zhuǎn)成字符串 '免費(fèi)班車(chē)',
csv_writer.writerow(dit)
print(dit)
加翻頁(yè)
for page in range(1, 31):
print(f'------------------------正在爬取第{page}頁(yè)-------------------------')
time.sleep(1)
保存數(shù)據(jù)
f = open('招聘數(shù)據(jù).csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'標(biāo)題',
'地區(qū)',
'公司名字',
'薪資',
'學(xué)歷',
'經(jīng)驗(yàn)',
'公司標(biāo)簽',
'詳情頁(yè)',
])
csv_writer.writeheader() # 寫(xiě)入表頭
運(yùn)行代碼,得到數(shù)據(jù)


【付費(fèi)VIP完整版】只要看了就能學(xué)會(huì)的教程,80集Python基礎(chǔ)入門(mén)視頻教學(xué)
點(diǎn)這里即可免費(fèi)在線(xiàn)觀看
到此這篇關(guān)于Python爬蟲(chóng)實(shí)戰(zhàn)演練之采集拉鉤網(wǎng)招聘信息數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python 采集拉鉤網(wǎng)招聘信息數(shù)據(jù)內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信