利用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中请使用isinstance()判断变量类型
Aug 25 Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
python文件与目录操作实例详解
Feb 22 Python
python3实现抓取网页资源的 N 种方法
May 02 Python
Python爬虫实现百度图片自动下载
Feb 04 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
基于python OpenCV实现动态人脸检测
May 25 Python
使用pandas实现csv/excel sheet互相转换的方法
Dec 10 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
python 画图 图例自由定义方式
Apr 17 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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
VOLVO车载收音机
2021/03/02 无线电
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
php session安全问题分析
2011/06/24 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php中的比较运算符详解
2013/10/28 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
Zend Framework教程之Zend_Config_Xml用法分析
2016/03/23 PHP
使用PHP开发留言板功能
2019/11/19 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
javascript包装对象实例分析
2015/03/27 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
Node.js assert断言原理与用法分析
2019/01/04 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
Django如何实现防止XSS攻击
2020/10/13 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
计划生育证明格式及范本
2014/10/09 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
中学教代会开幕词
2016/03/04 职场文书