我正在嘗試查找網站上每個職位的工資、截止日期和 URL。我成功地在主頁上獲取資訊。但我無法獲得每個職位的資訊。網址 =https://www.higheredjobs.com/admin/search.cfm?JobCat=141&CatName=Academic Advising
預期輸出: df =
| 標題 | 大學 | 地點 | 學習 | 日期 | 網址 | 薪水 | 截止日期 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 教育顧問 | 帕薩迪納城市學院 | 加利福尼亞州帕薩迪納 | 學術指導 | 22 年 9 月 4 日 | https://www.higheredjobs.com/admin/details.cfm?JobCode=178087599&Title=Educational Advisor | 58,620.12 美元至 64,628.76 美元 | 太平洋時間 2022 年 9 月 25 日晚上 11:59 |
| 1 | 行政與辦公規范 III:人文與社會科學學院 | 勞雷爾嶺社區學院 | 弗吉尼亞州米德爾敦 | 學術指導 | 22 年 9 月 4 日 | https://www.higheredjobs.com/admin/details.cfm?JobCode=178087578&Title=Admin and Office Spec III: School of Humanities & Social Sciences | $32,000-$48,000 | 2022 年 9 月 16 日 |
代碼:
from pprint import pprint
import datetime
import requests
from bs4 import BeautifulSoup
cookies = {
'CFID': '180615757',
'CFTOKEN': '64089929988eb934-58E2ACC9-AD21-785B-2AFBCE86106B41FE',
'visid_incap_2388351': '0Vmr7QpDRvmVw8fbXUJFkB5XEWMAAAAAQUIPAAAAAADtlXunU/D8GLU5VofHHier',
'_ga_6ZQNJ4ELG2': 'GS1.1.1662315508.15.1.1662315668.0.0.0',
'_ga': 'GA1.2.147261521.1662080801',
'_gid': 'GA1.2.1149490171.1662080801',
'reese84': '3:yMGXsdMquwoCj3IoSFRCMg==:Vf20HwL77P8oWYTTKbE0XigwyQE3d2lLQpPVoZYcoL8SJTmLeqAani 7GspfC2BiJYOOytBlkIp9MewLgs/XbkaiLrSvLnMdZ0aT8/M9FvBohByybnJXNl25ya/yfpGhL9oT1HKMZYnKqSR0Sg8 nHTUEO0/YErJgQmfoeYIT4kmE01S8cndGIemtuGjvq1hzB/D9VAQL7S3idutOumBNu84j5FyCdOBClCJTriE X9j40lj1swIxFlryTmBAtLHnEvN9M57N4LMb13yuSBaCawrv4fnron0JnUvfKpLU0CXTnpcM9hJNGv9Ekb4Ap43CZDPdeLVzEmj 39wCVtXPtMqBNCU6mPVBSeJCRHyRuQjY y0Sv5w7ME2LXhT8bEGHyE8yeuxddxvoG51STebu pb0mSp5n iKotUEn9h sA=:WH64twwKGqtE4pUorYOeGylONeXRsfG 3Qe3zAfpdrs=',
'__atuvc': '65|35,2|36',
'COOKIESTATUS': 'ON',
'HIDECOOKIEBANNER': 'TRUE',
'nlbi_2388351': 'jGGxMFazFBqnU x okRrFAAAAAC/AJ/k R2U vs5Q4LIRTS7',
'nlbi_2388351_2147483392': 'PUildkEvtiZ9uje3okRrFAAAAABv1NR/7gPLX7Lc/iS5ei8N',
'incap_ses_989_2388351': 'mWy Uq7aLX000xomDaO5DfTrFGMAAAAA6XmB42vG5CO6i609/RhyKg==',
'incap_ses_468_2388351': 'sDNcR2labTHyNXYlUqx BipAFGMAAAAAImV2A07lGANZGfpvhvPlLg==',
'__atuvs': '6314ec0cdbe92a78001',
'_gat_gtag_UA_12825325_1': '1',
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0',
'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
# 'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://www.higheredjobs.com/admin/',
'Connection': 'keep-alive',
# Requests sorts cookies= alphabetically
# 'Cookie': 'CFID=180615757; CFTOKEN=64089929988eb934-58E2ACC9-AD21-785B-2AFBCE86106B41FE; visid_incap_2388351=0Vmr7QpDRvmVw8fbXUJFkB5XEWMAAAAAQUIPAAAAAADtlXunU/D8GLU5VofHHier; _ga_6ZQNJ4ELG2=GS1.1.1662315508.15.1.1662315668.0.0.0; _ga=GA1.2.147261521.1662080801; _gid=GA1.2.1149490171.1662080801; reese84=3:yMGXsdMquwoCj3IoSFRCMg==:Vf20HwL77P8oWYTTKbE0XigwyQE3d2lLQpPVoZYcoL8SJTmLeqAani 7GspfC2BiJYOOytBlkIp9MewLgs/XbkaiLrSvLnMdZ0aT8/M9FvBohByybnJXNl25ya/yfpGhL9oT1HKMZYnKqSR0Sg8 nHTUEO0/YErJgQmfoeYIT4kmE01S8cndGIemtuGjvq1hzB/D9VAQL7S3idutOumBNu84j5FyCdOBClCJTriE X9j40lj1swIxFlryTmBAtLHnEvN9M57N4LMb13yuSBaCawrv4fnron0JnUvfKpLU0CXTnpcM9hJNGv9Ekb4Ap43CZDPdeLVzEmj 39wCVtXPtMqBNCU6mPVBSeJCRHyRuQjY y0Sv5w7ME2LXhT8bEGHyE8yeuxddxvoG51STebu pb0mSp5n iKotUEn9h sA=:WH64twwKGqtE4pUorYOeGylONeXRsfG 3Qe3zAfpdrs=; __atuvc=65|35,2|36; COOKIESTATUS=ON; HIDECOOKIEBANNER=TRUE; nlbi_2388351=jGGxMFazFBqnU x okRrFAAAAAC/AJ/k R2U vs5Q4LIRTS7; nlbi_2388351_2147483392=PUildkEvtiZ9uje3okRrFAAAAABv1NR/7gPLX7Lc/iS5ei8N; incap_ses_989_2388351=mWy Uq7aLX000xomDaO5DfTrFGMAAAAA6XmB42vG5CO6i609/RhyKg==; incap_ses_468_2388351=sDNcR2labTHyNXYlUqx BipAFGMAAAAAImV2A07lGANZGfpvhvPlLg==; __atuvs=6314ec0cdbe92a78001; _gat_gtag_UA_12825325_1=1',
'Upgrade-Insecure-Requests': '1',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'same-origin',
# Requests doesn't support trailers
# 'TE': 'trailers',
}
params = {
'JobCat': '141',
'CatName': 'Academic Advising',
}
response = requests.get('https://www.higheredjobs.com/admin/search.cfm', params=params, cookies=cookies, headers=headers)
soup = BeautifulSoup(response.text,'html.parser')#'lxml')#
jobs_list = []
for i in soup.select('.row.record'):
jobs_list.append(dict(zip(['title','university','location','study','date'],i.stripped_strings)))
df = pd.DataFrame(jobs_list)
當前輸出: df =
| 標題 | 大學 | 地點 | 學習 | 日期 | 網址 | 薪水 | 截止日期 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 教育顧問 | 帕薩迪納城市學院 | 加利福尼亞州帕薩迪納 | 學術指導 | 22 年 9 月 4 日 | |||
| 1 | 行政與辦公規范 III:人文與社會科學學院 | 勞雷爾嶺社區學院 | 弗吉尼亞州米德爾敦 | 學術指導 | 22 年 9 月 4 日 |
問題:
我無法洗掉每個帖子的子頁面和資訊。如何廢棄子頁面和所需資訊。
uj5u.com熱心網友回復:
這個網站上的資訊不是那么統一,所以你不會得到一刀切的方法。要指向可能適合您需求的方向,請從初始頁面獲取 url 并對其進行迭代以從詳細頁面獲取資訊:
注意: 示例中的鏈接串列被切片為[:5],要從此迭代中獲取所有結果,只需洗掉切片
response = requests.get('https://www.higheredjobs.com/admin/search.cfm', params=params, cookies=cookies, headers=headers)
soup = BeautifulSoup(response.text,'html.parser')#'lxml')#
jobs_list = []
for a in soup.select('.row.record a')[:10]:
r = requests.get('https://www.higheredjobs.com/' a.get('href'), params=params, cookies=cookies, headers=headers)
soup = BeautifulSoup(r.text)
for e in soup.select('span.at'):
e.decompose()
d = dict((e.text.strip().rstrip(':'),e.next_sibling.strip()) for e in list(soup.select('#jobAttrib strong')))
d.update({
'Title':soup.h1.text,
'Institute':soup.select_one('.job-inst').get_text(strip=True),
'Location':soup.select_one('.job-loc').get_text(strip=True),
'Category':soup.select_one('strong:-soup-contains("Category")').find_next().text.strip()
})
jobs_list.append(d)
df = pd.DataFrame(jobs_list)
df[['Title', 'Institute','Location', 'Salary','Type', 'Posted', 'Application Due', 'Category']]
輸出
| 標題 | 研究所 | 地點 | 薪水 | 型別 | 已發布 | 申請截止日期 | 類別 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 學術顧問 | 阿巴拉契亞州立大學 | 北卡羅來納州布恩 | 楠 | 全職 | 2022 年 9 月 4 日 | 開到滿 | 學術指導 |
| 1 | 教育顧問 | 帕薩迪納城市學院 | 加利福尼亞州帕薩迪納 | 每年 58,620.12 至 64,628.76 美元 | 全職 | 2022 年 9 月 4 日 | 楠 | 學術指導 |
| 2 | 行政與辦公規范 III:人文與社會科學學院 | 勞雷爾嶺社區學院 | 弗吉尼亞州米德爾敦 | 楠 | 全職 | 2022 年 9 月 4 日 | 2022 年 9 月 16 日 | 學術指導 |
| 3 | 執照后教學協調員和學術顧問 | 伊利諾伊州立大學 | 正常,伊利諾伊州 | 楠 | 全職 | 2022 年 9 月 4 日 | 楠 | 學術指導 |
| 4 | 大學咨詢團(CAC)顧問 | 佐治亞州立大學 | 佐治亞州亞特蘭大 | 楠 | 兼職/兼職 | 2022 年 9 月 4 日 | 楠 | 學術指導 |
| 5 | 學術顧問 I (S03944P) | 德克薩斯大學阿靈頓分校 | 德克薩斯州阿靈頓 | 楠 | 全職 | 2022 年 9 月 3 日 | 楠 | 學術指導 |
| 6 | 職業和學術顧問(兼職) | 圣彼得堡學院 | 佛羅里達州皮內拉斯公園 | 楠 | 兼職/兼職 | 2022 年 9 月 3 日 | 楠 | 職業發展和服務 |
| 7 | 學術顧問 | 西蒙斯大學 | 馬薩諸塞州波士頓 | 楠 | 全職 | 2022 年 9 月 3 日 | 楠 | 學術指導 |
| 8 | 副主任 HSC 羅阿諾克 | 拉德福大學 | 弗吉尼亞州拉德福 | 楠 | 全職 | 2022 年 9 月 3 日 | 楠 | 學術指導 |
| 9 | 學術顧問,大學咨詢中心,Tahlequah | 東北州立大學 | 塔勒闊,好的 | 楠 | 全職 | 2022 年 9 月 3 日 | 楠 | 學術指導 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/504625.html
