利用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设置socket代理的方法
Jan 14 Python
Django的数据模型访问多对多键值的方法
Jul 21 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
Jun 11 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
Python 自由定制表格的实现示例
Mar 20 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
详解Python中list[::-1]的几种用法
Nov 16 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
星际中的相关伤害
2020/03/04 星际争霸
Prototype使用指南之array.js
2007/01/10 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
mac上node.js环境的安装测试
2017/07/03 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
.net面试题
2016/09/17 面试题
技校教师求职简历的自我评价
2013/10/20 职场文书
陈欧的广告词
2014/03/18 职场文书
小学生期末评语
2014/04/21 职场文书
另类冲刺标语
2014/06/24 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
违规违纪检讨书范文
2015/05/06 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书