利用Python獲取趕集網(wǎng)招聘信息前篇
更新時間:2016年04月18日 14:42:22 作者:mrmusic
這篇文章主要為大家分享了如何利用Python獲取趕集網(wǎng)招聘信息的前一篇內(nèi)容,感興趣的小伙伴們可以參考一下
如何獲取一個網(wǎng)站的相關(guān)信息,獲取趕集網(wǎng)的招聘信息,本文為大家介紹利用python獲取趕集網(wǎng)招聘信息的關(guān)鍵代碼,供大家參考,具體內(nèi)容如下
import re
import urllib
import urllib.request
#獲取趕集網(wǎng)數(shù)據(jù)
def begin(url):
#要偽裝成的瀏覽器(我這個是用的chrome)
headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36')
opener = urllib.request.build_opener()
#將要偽裝成的瀏覽器添加到對應(yīng)的http頭部
opener.addheaders=[headers]
#讀取相應(yīng)的url
data = opener.open(url).read()
#將獲得的html解碼為utf-8
data=data.decode('utf-8')
return data
#處理數(shù)據(jù),返回字典城市對應(yīng)城市的url
def get_cityinfo(data):
city_info1=re.findall(r'dl>(.*?)</dl>',data,re.S)
city_info2=re.findall(r'(<a.*?</a>)',city_info1[0],re.S)
city_dict={}
for each in city_info2:
key=re.findall('>(.*?)</',each,re.S)
city_url=re.findall('href="(.*?)"',each,re.S)
city_dict[key[0]]=city_url[0]
return city_dict
#獲取所有的a標簽,并從a標簽中獲取信息
def a_info(data):
a_info=re.findall(r'(<a.*?</a>)',data[0],re.S)
a_dict={}
for each in a_info:
key=re.findall('>(.*?)</',each,re.S)
a_url=re.findall('"(.*?)"',each,re.S)
a_dict[key[0]]=a_url[0]
return a_dict
#獲取對應(yīng)城市信息的所有分類
def get_cityinfoclass():
#目前先獲取招聘信息,后面有時間再繼續(xù)補充完善這個模塊
info= 'zhaopin/'
return info
#獲取對應(yīng)城市和其城市分類的信息
def getzhaopin(city_info,infoclass):
#先搞成都的信息招聘
city_url=city_info['成都']
cdzp_url=city_url+infoclass
cdzp_info=begin(cdzp_url)
return city_url,cdzp_info
#獲取成都市招聘信息
def get_zhaopin_info(city_url,cdzp_info):
allzp_info=re.findall('class="f-all-news"(.*?)</div>',cdzp_info,re.S)
a_dict={}
class_info=re.findall('<dd>(.*?)</dd>',allzp_info[0],re.S)
for each in class_info:
a_info=re.findall(r'(<a.*?</a>)',each,re.S)
for each1 in a_info:
key=re.findall('>(.*?)</',each1,re.S)
a_url=re.findall('href="/(.*?)"',each1,re.S)
a_dict[key[0].strip()]=city_url+a_url[0]
return a_dict
#獲取招聘信息的具體內(nèi)容
def get_city_zpinfo_detail(url):
#先獲取軟件工程師
sorft_engineer=(zp_class_info['軟件工程師'])
job_url_info=begin(sorft_engineer)
get_detail_info(job_url_info)
#處理詳情頁的信息
def get_detail_info(list_info):
job_info=re.findall('<dl class="list-noimg job-list clearfix"(.*?)</dl',list_info,re.S)
print(job_info[0])
if __name__=='__main__':
url='http://www.ganji.com/index.htm';
data=begin(url);
#所有城市信息
city_info=get_cityinfo(data)
#對應(yīng)的分類
infoclass=get_cityinfoclass()
cdzp_url,xiaoshou=getzhaopin(city_info,infoclass)
#獲取招聘的分類信息
zp_class_info=get_zhaopin_info(cdzp_url,xiaoshou)
get_city_zpinfo_detail(zp_class_info)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Python語法學(xué)習(xí)之進程的創(chuàng)建與常用方法詳解
本文我們將學(xué)習(xí)一下在?Python?中去創(chuàng)建并使用多進程的方法,可以通過創(chuàng)建多個進程來幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下2022-04-04
Python re.split方法分割字符串的實現(xiàn)示例
本文主要介紹了Python re.split方法分割字符串的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
詳解Python中Sync與Async執(zhí)行速度快慢對比
Python新的版本中支持了async/await語法, 很多文章都在說這種語法的實現(xiàn)代碼會變得很快, 但是這種快是有場景限制的。這篇文章將嘗試簡單的解釋為何Async的代碼在某些場景比Sync的代碼快2023-03-03
python虛擬環(huán)境virualenv的安裝與使用
virtualenv 是一個創(chuàng)建隔絕的Python環(huán)境的工具。virtualenv創(chuàng)建一個包含所有必要的可執(zhí)行文件的文件夾,用來使用Python工程所需的包。下面這篇文章就給大家介紹了python虛擬環(huán)境virualenv的安裝與使用,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
Python 實時獲取任務(wù)請求對應(yīng)的Nginx日志的方法
本文給大家分享Python 實時獲取任務(wù)請求對應(yīng)的Nginx日志的方法,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-07-07
python實現(xiàn)兩個經(jīng)緯度點之間的距離和方位角的方法
今天小編就為大家分享一篇python實現(xiàn)兩個經(jīng)緯度點之間的距離和方位角的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

