利用Python获取赶集网招聘信息前篇

作者:mrmusic 时间:2021-09-23 12:53:36 

如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用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,获取信息
0
投稿

猜你喜欢

  • 如何编写一个创建FTP站点的函数?

    2009-11-07 18:51:00
  • Access中实现case when功能

    2009-04-28 13:02:00
  • Python StringIO如何在内存中读写str

    2022-08-01 13:45:31
  • Python快速实现一键抠图功能的全过程

    2021-03-03 14:58:39
  • ASP中如何判断字符串中是否包含字母和数字

    2009-07-10 13:12:00
  • python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图

    2023-09-06 10:45:28
  • 了解ASP的基本语法和变量

    2008-01-16 13:03:00
  • Python学习pygal绘制线图代码分享

    2022-12-02 10:51:48
  • Python中Pyspider爬虫框架的基本使用详解

    2021-04-01 06:00:31
  • python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例

    2023-08-11 19:10:44
  • pytorch 求网络模型参数实例

    2021-12-08 08:41:11
  • Python制作一个随机抽奖小工具的实现

    2022-10-22 03:53:29
  • React redux 原理及使用详解

    2023-07-14 15:41:58
  • Python keras.metrics源代码分析

    2023-10-28 20:58:14
  • Python最大连续区间和动态规划

    2023-02-13 09:40:32
  • 如何用OleDbDataAdapter来对数据库进行操作?

    2010-06-12 12:56:00
  • 详解将Python程序(.py)转换为Windows可执行文件(.exe)

    2022-05-29 20:46:25
  • Python3.5.3下配置opencv3.2.0的操作方法

    2021-06-20 19:43:53
  • Django处理Ajax发送的Get请求代码详解

    2023-06-29 08:40:40
  • 教你如何使用Conda命令 + 安装tensorflow

    2021-09-17 22:32:07
  • asp之家 网络编程 m.aspxhome.com