專案概覽
在搜尋頁中,所有符合條件的職位資訊以列表的形式排序設有分頁顯示。每條職位資訊是乙個url 位址,通過url 位址可以進入該職位的詳情頁。
職位詳情頁也是資料爬取的頁面,爬取的資料資訊有:職位名稱、企業名稱、待遇、福利以及職位要求等等。
專案框架
具體步驟
一:獲取城市編號
def
get_city_code()
: url =
''r = requests.get(url)
begin = r.text.find(
'var hotcity'
)if begin ==-1
:print
('not find var hotcity'
)# print(begin)
end = r.text.find(
';',begin)
if end ==-1
:print
('not find ; '
)# print(end)
result_text = r.text[begin : end-1]
#print(result_text)
begin = result_text.find(
' i =
0while i <
len(key_list)
: city_dict[value_list[i]
]= key_list[i]
i +=
1# print(city_dict)
return city_dict
獲取招聘職位總頁數headers =
# 獲取職位總頁數
defget_pagenumber
(city_code,keyword)
: url =
''+str
(city_code)
+ \ ',000000,0000,00,9,99,'
+str
(keyword)
+',2,1.html'
r = requests.get(url=url,headers=headers)
soup = beautifulsoup(r.content.decode(
'gbk'),
'html5lib'
) find_page = soup.find(
'div'
,class_=
'rt'
).gettext(
) temp = re.findall(r"\d+\.?\d*"
,find_page)
if temp:
pagenumber = math.ceil(
int(temp[0]
)/50)
return pagenumber
else
:return
0
爬取每個職位資訊
資料儲存 總結
簡易爬蟲爬取51job招聘資訊
目標 上的python相關招聘資訊 入門級別 import re import urllib.request class grab object 定義類屬性 num 0 def init self 請求的 self.url 請求頭 self.headers defopenurl self 建立請求物...
爬取51job的資訊
coding utf 8 import scrapy from items import jobspideritem class jobspider scrapy.spider name job allowed domains 51job.com start urls def parse self,...
爬取51job職位資訊
首先獲取一下所有城市對應的key值,找到所有城市所在的json字串,向json所在的js頁面傳送請求,獲取資訊,然後從第一頁獲取總的頁數,然後遍歷所有頁數,每到新的一頁,找到所有職位資訊的詳情頁url,遍歷詳情頁,獲取所要的職位資訊。請求並解析城市編碼函式 return 返回乙個字典 decode ...