利用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排序函数sort()与sorted()的区别
Sep 18 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
pytorch中获取模型input/output shape实例
Dec 30 Python
python如何通过pyqt5实现进度条
Jan 20 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
Python求解排列中的逆序数个数实例
May 03 Python
PyCharm 2020.2 安装详细教程
Sep 25 Python
python Timer 类使用介绍
Dec 28 Python
利用Python+OpenCV三步去除水印
May 28 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
理解php原理的opcodes(操作码)
2010/10/26 PHP
php实现可运算的验证码
2015/11/10 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
JS实现简易日历效果
2021/01/25 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
HTML5学习笔记之History API
2015/02/26 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
static关键字的用法
2013/10/07 面试题
2015年中个人总结范文
2015/03/10 职场文书
人工作失职检讨书
2015/05/05 职场文书
董事长新年致辞
2015/07/29 职场文书
2022漫威和DC电影上映作品
2022/04/05 欧美动漫