利用Python获取赶集网招聘信息前篇


Posted in Python onApril 18, 2016

如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用python获取赶集网招聘信息的关键代码,供大家参考,具体内容如下

import re
import urllib
import urllib.request
#获取赶集网数据
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()
  #将要伪装成的浏览器添加到对应的http头部
  opener.addheaders=[headers]
  #读取相应的url
  data = opener.open(url).read()
  #将获得的html解码为utf-8
  data=data.decode('utf-8')
  return data
#处理数据,返回字典城市对应城市的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
#获取对应城市信息的所有分类
def get_cityinfoclass():
    #目前先获取招聘信息,后面有时间再继续补充完善这个模块
  info= 'zhaopin/'
  return info
#获取对应城市和其城市分类的信息
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
#获取招聘信息的具体内容
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)
  #对应的分类
  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)

以上就是本文的全部内容,希望对大家的学习有所帮助。

Python 相关文章推荐
python cookielib 登录人人网的实现代码
Dec 19 Python
python中正则表达式的使用详解
Oct 17 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
Python sys.argv用法实例
May 28 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
python调用摄像头显示图像的实例
Aug 03 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
django使用xadmin的全局配置详解
Nov 15 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
python中tkinter复选框使用操作
Nov 11 Python
Python Sql数据库增删改查操作简单封装
Apr 18 #Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 #Python
python UNIX_TIMESTAMP时间处理方法分析
Apr 18 #Python
python动态加载包的方法小结
Apr 18 #Python
python实现按行切分文本文件的方法
Apr 18 #Python
Python获取linux主机ip的简单实现方法
Apr 18 #Python
Python实现递归遍历文件夹并删除文件
Apr 18 #Python
You might like
php利用单例模式实现日志处理类库
2014/02/10 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
JavaScript 参考教程
2006/12/29 Javascript
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
js监听html页面的上下滚动事件方法
2018/09/11 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
python进阶教程之动态类型详解
2014/08/30 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
python实现一个猜拳游戏
2020/04/05 Python
Python request使用方法及问题总结
2020/04/26 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
幼师专业求职推荐信
2013/11/08 职场文书
党员个人承诺书
2015/04/27 职场文书
校运会加油稿大全
2015/07/22 职场文书
小学体育教学随笔
2015/08/14 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
使用Django框架创建项目
2022/06/10 Python
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android