利用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编程实现的简单Web服务器示例
Jun 22 Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
Python实现CNN的多通道输入实例
Jan 17 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
Python request使用方法及问题总结
Apr 26 Python
Django nginx配置实现过程详解
Sep 10 Python
python实现xml转json文件的示例代码
Dec 30 Python
Python实现Excel自动分组合并单元格
Feb 22 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 魔术方法使用说明
2009/10/20 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
JS定时器实例
2013/04/17 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
JS常用算法实现代码
2016/11/14 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
js实现列表按字母排序
2020/08/11 Javascript
python邮件发送smtplib使用详解
2020/06/16 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python tornado修改log输出方式
2019/11/18 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
五年级下册复习计划
2015/01/19 职场文书
检讨书范文300字
2015/01/28 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers