#設定搜尋職位名稱
key_words =
"資料分析"
key = urllib.parse.quote(key_words)
#url=''+key+'&page=1&ka=page-1'
defget_data
(url)
:try
: res=requests.get(url,headers=page_headers)
status=res.status_code
data=res.text
(status)
soup=beautifulsoup(data,
'lxml'
)#print(soup.prettify()) #輸出格式化的html**
return soup,status
except exception as e:
(str
(e))
return0,
0def
get_job
(url)
: soup,status=get_data(url)
if status==
200:
job_all=soup.find_all(
'div'
,class_=
"job-primary"
)for job in job_all:
try:
#職位名
job_title=job.find(
'div'
,class_=
"job-title"
).string
#薪資job_salary=job.find(
'span'
,class_=
"red"
).string
#職位標籤
job_tag1=job.p.text
#公司job_company=job.find(
'div'
,class_=
"company-text"
).a.text
#招聘詳情頁鏈結
job_url=job.find(
'div'
,class_=
"company-text"
).a.attrs[
'href'
]#公司標籤
job_tag2=job.find(
'div'
,class_=
"company-text"
).p.text
#發布時間
job_time=job.find(
'div'
,class_=
"info-publis"
).p.text
with
open
('job.csv'
,'a+'
,encoding=
'utf-8'
)as fh:
fh.write(job_company+
","+job_title+
","+job_salary+
","+job_tag1+
","+job_time+
","+job_tag2+
","+job_url+
"\n"
)except exception as e:
(str
(e))
if __name__==
'__main__'
:with
open
('job.csv'
,'w'
,encoding=
'utf-8'
)as fh:
fh.write(
"公司,職位名,薪資,職位標籤,發布時間,公司標籤,招聘鏈結\n"
)for i in
range(1
,11):
("正在爬取第 %s 頁..."
% i)
url=
''+key+
'&page='
+str
(i)+
'&ka=page-'
+str
(i) get_job(url)
#隨機等待
span=
round
(random.random()*
6,1)
time.sleep(span)
爬取boss直聘招聘資訊
直接上主 from bs4 import beautifulsoup import requests import ip proxy from urllib import parse headers def get boss info my ip,detailed url url proxy res...
二十七 爬取Boss直聘的招聘資訊
對於之前學的知識,作乙個整合,爬取有點難度的boss招聘。不知不覺,七月份已經過去了,傳說中的暑假實習招聘也應該隨之結束了,我還是那個屌絲,發了幾份,結果屁都沒有,可能我是乙個屌絲。目標 爬取boss招聘網的全國技術實習崗位,畢竟我沒有工作過 並寫入mongodb資料庫 這裡我選取了boss直聘上的...
Scrapy實戰 爬Boss直聘
我們爬取頁面中每個公司的崗位資訊,包括職位 辦公地點 工作經驗 上圖中的11個加上boss直聘的jobid共12個資訊 開啟shell scrapy shell view response 發現返回403 嘗試把headers一併給出 from scrapy import request fetch...