利用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的Tornado框架中实现简单的在线代理的教程
May 02 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
python操作redis方法总结
Jun 06 Python
python中datetime模块中strftime/strptime函数的使用
Jul 03 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
解决python flask中config配置管理的问题
Jul 26 Python
Python如何调用外部系统命令
Aug 07 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
python爬虫搭配起Bilibili唧唧的流程分析
Dec 01 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
PHP文件操作实例总结
2016/09/27 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
php session_decode函数用法讲解
2019/05/26 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
nicejforms——美化表单不用愁
2007/02/20 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
仿iframe效果Aajx文件上传实例
2016/11/18 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
js实现前面自动补全位数的方法
2018/10/10 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
简单解析Django框架中的表单验证
2015/07/17 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python dlib人脸识别代码实例
2019/04/04 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
生产副总岗位职责
2013/11/28 职场文书
英语专业个人求职信范文
2014/02/01 职场文书
八年级英语教学计划
2015/01/23 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python