這篇文章主要介紹python實戰之怎么用爬蟲修改發布的招聘內容,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. 校正發布日期
"time" : "發布于03月31日", "time" : "發布于昨天", "time" : "發布于11:31",
這里拿到的都是這種格式的,所以簡單處理下
import datetime
from pymongo import MongoClient
db = MongoClient('127.0.0.1', 27017).iApp
def update(data):
return db.jobs_php.update_one({"_id": data['_id']}, {"$set": data})
# 把時間校正過來
def clear_time():
items = db.jobs_php.find({})
for item in items:
if not item['time'].find('布于'):
continue
item['time'] = item['time'].replace("發布于", "2017-")
item['time'] = item['time'].replace("月", "-")
item['time'] = item['time'].replace("日", "")
if item['time'].find("昨天") > 0:
item['time'] = str(datetime.date.today() - datetime.timedelta(days=1))
elif item['time'].find(":") > 0:
item['time'] = str(datetime.date.today())
update(item)
print('ok')2.校正薪水以數字保存
"salary" : "5K-12K",
#處理成下面的格式
"salary" : {
"low" : 5000,
"high" : 12000,
"avg" : 8500.0
},
# 薪水處理成數字,符合 xk-yk 的數據處理,不符合的跳過
def clear_salary():
items = db.jobs_lagou_php.find({})
for item in items:
if type(item['salary']) == type({}):
continue
salary_list = item['salary'].lower().replace("k", "000").split("-")
if len(salary_list) != 2:
print(salary_list)
continue
try:
salary_list = [int(x) for x in salary_list]
except:
print(salary_list)
continue
item['salary'] = {
'low': salary_list[0],
'high': salary_list[1],
'avg': (salary_list[0] + salary_list[1]) / 2
}
update(item)
print('ok')這里在處理 Boss直聘的數據時,比較簡單正常,但是后續抓到拉勾網的數據,拉勾網的數據有些不太規范。比如有‘20k以上’這種描述
以上是“python實戰之怎么用爬蟲修改發布的招聘內容”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。