使用python爬取智联招聘公司的行业
来源:互联网 发布:快图浏览 知乎 编辑:程序博客网 时间:2024/04/28 23:44
描述:
为了获取尽可能多的公司的行业
在智能招聘中搜索input中的公司,对于没有搜到的公司,跳过;
对于所有搜到的公司,提取搜索结果每一页的职位,然后打开职位页面,解析职位页面,得到公司行业
输出公司名称和公司行业
Input:
绿盟科技
浙江吉利控股集团有限公司
齐家网信息科技有限公司
鸿扬家装
鲁商置业股份有限公司
高校摇滚夜青年文化品牌
阳泉广播电视台
长城宽带网络服务有限公司广州分公司
锦江
重庆百事达汽车有限公司
重庆市人才交流服务中心
郑州吃货
邹平县广播电影电视中心
西安荣信文化产业发展有限公司
西安双羽九州图书文化有限公司
营商宝
艺术家
胜动集团
联信永益
老房子
美食客食品(中国)有限公司
罗丹摄影
科博留学
神朔铁路
盐亭县
百度爱好者
Output:
绿盟科技 互联网/电子商务,IT服务(系统/数据/维护)/多领域经营,北京,售前/售后技术支持工程师
上海齐家网信息科技股份有限公司 互联网/电子商务,家居/室内设计/装饰装潢,北京,销售经理
北京锦江北方物业管理有限公司第三分公司 物业管理/商业中心,酒店/餐饮,北京,前厅接待/礼仪/迎宾
锦江之星旅馆有限公司北方分公司 酒店/餐饮,北京,酒店管理
北京锦江富园大酒店有限公司 酒店/餐饮,娱乐/体育/休闲,其它,北京,电焊工/铆焊工
锦江之星旅馆有限公司 酒店/餐饮,旅游/度假,北京,酒店管理
锦江之星旅馆有限公司北京酒仙桥分公司 贸易/进出口,北京,前厅接待/礼仪/迎宾
北京锦江国际旅行社有限公司 旅游/度假,北京,财务经理
锦江麦德龙现购自运有限公司 贸易/进出口,零售/批发,互联网/电子商务,房地产/建筑/建材/工程,北京,店长/卖场经理/楼面管理
北京联信永益信息技术有限公司 IT服务(系统/数据/维护)/多领域经营,计算机硬件及网络设备,计算机软件,通信/电信运营、增值服务,北京,高级软件工程师
深圳市齐心文具股份有限公司 办公用品及设备,快速消费品(食品/饮料/烟酒/日化),北京,销售代表
深圳市斯维尔科技有限公司 计算机软件,计算机硬件及网络设备,房地产/建筑/建材/工程,北京,电话销售
浙江华策影视股份有限公司 媒体/出版/影视/文化传播,广告/会展/公关/市场推广,北京,其他
杭州迪普科技有限公司 计算机软件,计算机硬件及网络设备,通信/电信运营、增值服务,IT服务(系统/数据/维护)/多领域经营,北京,销售代表
北京易游假期旅行社有限公司 旅游/度假,互联网/电子商务,北京,客户服务专员/助理
易游天下国际旅行社(北京)有限公司石景山路门市部 旅游/度假,北京,网站编辑
易游天下国际旅行社(北京)有限公司外馆斜街分社 旅游/度假,北京,旅游产品销售
北京易游世界科技发展有限公司 旅游/度假,北京,销售代表
悠易互通(北京)广告有限公司 媒体/出版/影视/文化传播,互联网/电子商务,广告/会展/公关/市场推广,IT服务(系统/数据/维护)/多领域经
营,北京,销售总监
福建兴业担保有限公司北京分公司 金融/银行/投资/基金/证券/期货,北京,电话销售
上海齐家网信息科技股份有限公司 互联网/电子商务,家居/室内设计/装饰装潢,北京,销售经理
北京锦江北方物业管理有限公司第三分公司 物业管理/商业中心,酒店/餐饮,北京,前厅接待/礼仪/迎宾
锦江之星旅馆有限公司北方分公司 酒店/餐饮,北京,酒店管理
北京锦江富园大酒店有限公司 酒店/餐饮,娱乐/体育/休闲,其它,北京,电焊工/铆焊工
锦江之星旅馆有限公司 酒店/餐饮,旅游/度假,北京,酒店管理
锦江之星旅馆有限公司北京酒仙桥分公司 贸易/进出口,北京,前厅接待/礼仪/迎宾
北京锦江国际旅行社有限公司 旅游/度假,北京,财务经理
锦江麦德龙现购自运有限公司 贸易/进出口,零售/批发,互联网/电子商务,房地产/建筑/建材/工程,北京,店长/卖场经理/楼面管理
北京联信永益信息技术有限公司 IT服务(系统/数据/维护)/多领域经营,计算机硬件及网络设备,计算机软件,通信/电信运营、增值服务,北京,高级软件工程师
深圳市齐心文具股份有限公司 办公用品及设备,快速消费品(食品/饮料/烟酒/日化),北京,销售代表
深圳市斯维尔科技有限公司 计算机软件,计算机硬件及网络设备,房地产/建筑/建材/工程,北京,电话销售
浙江华策影视股份有限公司 媒体/出版/影视/文化传播,广告/会展/公关/市场推广,北京,其他
杭州迪普科技有限公司 计算机软件,计算机硬件及网络设备,通信/电信运营、增值服务,IT服务(系统/数据/维护)/多领域经营,北京,销售代表
北京易游假期旅行社有限公司 旅游/度假,互联网/电子商务,北京,客户服务专员/助理
易游天下国际旅行社(北京)有限公司石景山路门市部 旅游/度假,北京,网站编辑
易游天下国际旅行社(北京)有限公司外馆斜街分社 旅游/度假,北京,旅游产品销售
北京易游世界科技发展有限公司 旅游/度假,北京,销售代表
悠易互通(北京)广告有限公司 媒体/出版/影视/文化传播,互联网/电子商务,广告/会展/公关/市场推广,IT服务(系统/数据/维护)/多领域经
营,北京,销售总监
福建兴业担保有限公司北京分公司 金融/银行/投资/基金/证券/期货,北京,电话销售
Code:
-*- coding: utf-8 -*-from sgmllib import SGMLParserimport codecsimport osimport timeimport urllibclass JobnumberFound(SGMLParser): def reset(self): SGMLParser.reset(self) self.jobnumber = '' self.count_text = 0 self.flag_jobnumber = False def start_div(self, attrs): for k,v in attrs: if k == 'class' and v =='currentsearch': self.flag_jobnumber = True def end_div(self): self.flag_jobnumber = False def handle_data(self,text): if self.flag_jobnumber == True: self.count_text += 1 if self.count_text ==3: self.jobnumber = textclass Company_UrlFound(SGMLParser): def reset(self): SGMLParser.reset(self) self.company_url = {} self.string = '' self.url = [] self.flag_jobname = 0 self.flag_companyname = 0 def start_td(self, attrs): for k,v in attrs: if k == 'class' and v == 'Jobname': self.flag_jobname = 1 elif k == 'class' and v == 'Companyname': self.flag_companyname = 1 def end_td(self): if self.flag_companyname == 1: self.flag_companyname = 0 self.company_url[self.string] = self.url[0] self.string = '' self.url = [] if self.flag_jobname == 1: self.flag_jobname = 0 def start_a(self, attrs): if self.flag_jobname == 1: href = [v for k, v in attrs if k=='href'] self.url.extend(href) # print self.url if self.flag_companyname == 1: self.flag_companyname =2 # print 'asdf' def end_a(self): if self.flag_companyname == 2: self.flag_companyname = 1 # if self.flag_jobname == 2: # self.jobname ==1 def handle_data(self, text): if self.flag_companyname ==2: self.string += text# print self.stringclass JOBFind(SGMLParser): def reset(self): SGMLParser.reset(self) self.flag_jobname = False self.industry = False self.text = [] self.count = 0 def start_div(self, attrs): for k,v in attrs: if k == 'class' and v == 'top-left': self.flag_jobname = True def end_div(self): self.flag_jobname = False def start_a(self, attrs): if self.flag_jobname == True: self.count += 1 if self.count > 1: self.industry = True # for k,v in attrs: # self.text.append(v) def end_a(self): self.industry = False def handle_data(self, text): if self.industry == True: self.text.append(text)url_s = 'http://sou.zhaopin.com/Jobs/searchresult.ashx?jl=北京&kw='url_e = '&sm=0&p=1&sf=0&kt=2'sleep_download_time = 1count = 0err_file = open ('../data/erro4', 'w')arrive = Falsefor line in codecs.open("../../crawl/data/corp", "r"): count2 = 0# begintime=time.time() lines = line.strip() if (not arrive) and lines != '公司': continue if (not arrive) and lines == '公司': arrive = True# print lines# continue if "/" in lines: continue url = url_s + lines +url_e #local = '../data/parseurl/' + lines + '.html'# print url usock = urllib.urlopen(url) numberFound = JobnumberFound() numberFound.feed(usock.read())# print numberFound.jobnumber try: number = int(numberFound.jobnumber) except: err_file.write('error3: ' + lines + ' ' + url + '\n') usock.close() numberFound.reset() continue usock.close() numberFound.reset()# print numberFound.jobnumber page_number = number/30 +1 url_s2 = 'http://sou.zhaopin.com/Jobs/searchresult.ashx?jl=北京&kw=' + lines +'&sm=0&p=' url_e2 = '&sf=0&kt=2' company_url = {}# print page_number if page_number > 10: time.sleep(sleep_download_time) if page_number > 30*120: page_number = 11# print page_number for i in range(1, page_number+1):# print i url = url_s2 + str(i) + url_e2 usock = urllib.urlopen(url) com_urlfound = Company_UrlFound() com_urlfound.feed(usock.read()) # print com_urlfound.url # print com_urlfound.company_url company_url.update(com_urlfound.company_url) usock.close() com_urlfound.reset() for key in company_url.keys(): count2 += 1 #print key, company_url[key] usock = urllib.urlopen(company_url[key]) try: jobfound = JOBFind() jobfound.feed(usock.read()) except: err_file.write('error1: ' + key+ ' ' +company_url[key] + '\n') jobfound.reset() usock.close() continue usock.close() s = key + '\t' if len(jobfound.text) > 0: for i in range(0, len(jobfound.text)-1): s += jobfound.text[i] s += ',' s += jobfound.text[-1] print s else: err_file.write('error2: ' + key+ ' ' + company_url[key] + '\n') jobfound.reset() if count2%30 == 0: time.sleep(sleep_download_time+2)# print count2 if count%50==0: err_file.close() err_file = open ('../data/erro4', 'a') time.sleep(sleep_download_time)# print count# print count,' .html download'# print time.time()-begintime count +=1err_file.close()
- 使用python爬取智联招聘公司的行业
- 招聘行业的经验
- 通过Python获取拉钩招聘网站的公司详细地址
- IBM公司的招聘题
- 数字图像处理的招聘公司
- 数字图像处理的招聘公司
- 数字图像处理的招聘公司
- 招聘的几家公司
- 数字图像处理的招聘公司
- 数字图像处理的招聘公司
- 垂直类行业人才的招聘网站
- 一个杭州的初创公司的招聘
- 金融行业比较有名气的公司
- 最赚钱的行业和公司
- 如何选择股票投资的行业和公司
- python 爬虫 爬智联招聘的招聘要求
- 公司的人员招聘过程一
- 公司招聘项目经理的一道面试题
- 好的Kentico内容管理网站有哪些(下)
- TCP连接3次握手的理解
- telnet远程登陆
- SQL server每个日志写(log write)究竟有多大
- 第一个塔防游戏--学习笔记
- 使用python爬取智联招聘公司的行业
- JavaScript中的构造函数
- WinXP编译mongodb c++ driver
- 为IIS的多个网站设置不同的.net运行框架
- node.js hello world
- 算法学习第一课静态顺序表操作
- cocos2dx anrdoid crash log查看
- IE6的window.location.href问题
- C/C++笔试面试常见题目2