利用Python获取赶集网招聘信息前篇
如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用python获取赶集网招聘信息的关键代码,供大家参考,具体内容如下
importre importurllib importurllib.request #获取赶集网数据 defbegin(url): #要伪装成的浏览器(我这个是用的chrome) headers=('User-Agent','Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/46.0.2490.86Safari/537.36') opener=urllib.request.build_opener() #将要伪装成的浏览器添加到对应的http头部 opener.addheaders=[headers] #读取相应的url data=opener.open(url).read() #将获得的html解码为utf-8 data=data.decode('utf-8') returndata #处理数据,返回字典城市对应城市的url defget_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={} foreachincity_info2: key=re.findall('>(.*?)</',each,re.S) city_url=re.findall('href="(.*?)"',each,re.S) city_dict[key[0]]=city_url[0] returncity_dict #获取所有的a标签,并从a标签中获取信息 defa_info(data): a_info=re.findall(r'(<a.*?</a>)',data[0],re.S) a_dict={} foreachina_info: key=re.findall('>(.*?)</',each,re.S) a_url=re.findall('"(.*?)"',each,re.S) a_dict[key[0]]=a_url[0] returna_dict #获取对应城市信息的所有分类 defget_cityinfoclass(): #目前先获取招聘信息,后面有时间再继续补充完善这个模块 info='zhaopin/' returninfo #获取对应城市和其城市分类的信息 defgetzhaopin(city_info,infoclass): #先搞成都的信息招聘 city_url=city_info['成都'] cdzp_url=city_url+infoclass cdzp_info=begin(cdzp_url) returncity_url,cdzp_info #获取成都市招聘信息 defget_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) foreachinclass_info: a_info=re.findall(r'(<a.*?</a>)',each,re.S) foreach1ina_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] returna_dict #获取招聘信息的具体内容 defget_city_zpinfo_detail(url): #先获取软件工程师 sorft_engineer=(zp_class_info['软件工程师']) job_url_info=begin(sorft_engineer) get_detail_info(job_url_info) #处理详情页的信息 defget_detail_info(list_info): job_info=re.findall('<dlclass="list-noimgjob-listclearfix"(.*?)</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) #对应的分类 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)
以上就是本文的全部内容,希望对大家的学习有所帮助。