利用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 11 Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 Python
解决Python2.7读写文件中的中文乱码问题
Apr 12 Python
在PyCharm中三步完成PyPy解释器的配置的方法
Oct 29 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
python 杀死自身进程的实现方法
Jul 01 Python
Python如何实现FTP功能
May 28 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
如何用 Python 处理不平衡数据集
Jan 04 Python
详解如何用Python实现感知器算法
Jun 18 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php 引用(&amp;)详解
2009/11/20 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
Python处理中文标点符号大集合
2018/05/14 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
python开发一个解析protobuf文件的简单编译器
2020/11/17 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
审计专业自荐信范文
2014/04/21 职场文书
社区清明节活动总结
2014/07/04 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
小学班长竞选稿
2015/11/20 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
Python first-order-model实现让照片动起来
2022/06/25 Python