利用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的几种开发工具介绍
Mar 07 Python
Python返回真假值(True or False)小技巧
Apr 10 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
Python3.6正式版新特性预览
Dec 15 Python
python字典快速保存于读取的方法
Mar 23 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
matplotlib实现显示伪彩色图像及色度条
Dec 07 Python
PyTorch中的Variable变量详解
Jan 07 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
python进行二次方程式计算的实例讲解
Dec 06 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函数method_exists()与is_callable()的区别
2013/06/21 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
2018/02/07 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
Python栈类实例分析
2015/06/15 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
总结python中pass的作用
2019/02/27 Python
python__name__原理及用法详解
2019/11/02 Python
python字符串下标与切片及使用方法
2020/02/13 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
使用django自带的user做外键的方法
2020/11/30 Python
Python 里最强的地图绘制神器
2021/03/01 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
小学门卫岗位职责
2013/12/17 职场文书
学生干部培训方案
2014/06/12 职场文书
单位租房协议书样本
2014/10/30 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL