利用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 cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
Django进阶之CSRF的解决
Aug 01 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
Python:slice与indices的用法
Nov 25 Python
python 多进程队列数据处理详解
Dec 23 Python
python如何实现单链表的反转
Feb 10 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 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/11/19 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python 命令行非阻塞输入的小例子
2013/09/27 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
阿里旅行:飞猪
2017/01/05 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
联强国际笔试题面试题
2013/07/10 面试题
Java基础面试题
2012/11/02 面试题
大学生简历中个人的自我评价
2013/10/06 职场文书
CNC数控操作工岗位职责
2013/11/19 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
淘宝活动策划方案
2014/02/06 职场文书
会计学自荐信
2014/06/03 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python