利用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从ftp下载数据保存实例
Nov 20 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
Python实现查找最小的k个数示例【两种解法】
Jan 08 Python
python快排算法详解
Mar 04 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
如何基于Django实现上下文章跳转
Sep 16 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
Oct 12 Python
python爬虫爬取图片的简单代码
Jan 18 Python
python学习之panda数据分析核心支持库
May 07 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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
清除输入框内的空格
2016/12/21 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
在vscode中配置python环境过程解析
2019/09/28 Python
python 表格打印代码实例解析
2019/10/12 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
面向对象编程的优势是什么
2015/12/17 面试题
二手书店创业计划书
2014/01/16 职场文书
会计工作总结范文2014
2014/12/23 职场文书
大学生助学金感谢信
2015/01/21 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
黑白记忆观后感
2015/06/18 职场文书
导游词之井冈山
2019/11/20 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
用Python可视化新冠疫情数据
2022/01/18 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python