利用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编程过程中用单元测试法调试代码的介绍
Apr 02 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
Python的Django框架中的Context使用
Jul 15 Python
Python中is与==判断的区别
Mar 28 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
python实现顺时针打印矩阵
Mar 02 Python
Python获取数据库数据并保存在excel表格中的方法
Jun 12 Python
Form表单及django的form表单的补充
Jul 25 Python
基于python调用psutil模块过程解析
Dec 20 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python中os.path.join()函数实例用法
May 26 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 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程序之die调试法 快速解决错误
2009/09/17 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP保存session到memcache服务器的方法
2016/01/19 PHP
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
JavaScript返回0-1之间随机数的方法
2015/04/06 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
基于Vue的文字跑马灯组件(npm 组件包)
2017/05/24 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python守护进程(daemon)代码实例
2015/03/06 Python
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
python 阶乘累加和的实例
2019/02/01 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
软件配置管理有什么好处
2015/04/15 面试题
商务会议邀请函
2014/01/09 职场文书
参观考察邀请函范文
2014/01/29 职场文书
工程安全生产协议书
2014/11/21 职场文书
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android