利用Python获取赶集网招聘信息前篇
作者:mrmusic 发布时间:2021-09-23 12:53:36
标签:Python,获取信息
如何获取一个网站的相关信息,获取赶集网的招聘信息,本文为大家介绍利用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)
0
投稿
猜你喜欢
- 一、DAFONT 英文字体很多,分类很详细,字体多数都是免费,唯一的缺点中文字体少了些.http://www.dafont.co
- 故事的开始:.count()假设你有一个Notification Model类,保存的主要是所有的站内通知:class Notificati
- 数学模块import mathceil -- 上取整对一个数向上取整(进一法),取相邻最近的两个整数的最大值。import mathres
- Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、c
- PyCharm 光标变成了黑块,不能编辑代码。光标变黑块是因为输入方式变成了改写方式,INSERT可以切换 插入/改写模式。插入模式:把输入
- 目录前后端传输数据的编码格式Ajax提交urlencoded格式数据Ajax通过FormData上传文件Ajax提交Json格式数据Ajax
- 这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 将Django与其他现有认证系统的用户名和密码或者认证方法进行整合是可以办到的。例如,你所在的公司也许已经安装了LDAP,并且为每一个员工都
- 信息安全的核心就是数据库的安全,也就是说数据库加密是信息安全的核心问题。数据库数据的安全问题越来越受到重视,数据库加密技术的应用极大的解决了
- 实验条件:从1张图像随机裁剪100张图像裁剪出图像的大小为 60 x 60IoU 大于等于 th=0.6 的裁剪框用红色标出,其它裁剪框用蓝
- 本文介绍基于Python中ArcPy模块,对大量栅格遥感影像文件进行批量掩膜与批量重采样的操作。首先,我们来明确一下本文的具体需求。现有一个
- 本文实例讲述了Python 实现的微信爬虫。分享给大家供大家参考,具体如下:单线程版:import urllib.requestimport
- 尾递归简介尾递归是函数返回最后一个操作是递归调用,则该函数是尾递归。递归是线性的比如factorial函数每一次调用都会创建一个新的栈(la
- 什么是状态机?关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个
- 1、单个关键字加亮代码: <div id="txt"> 用JS让文章内容指定
- 一、python3的安装建议安装python3,python2在未来将不再维护。python官方下载地址https://www.python
- 微软今天发布了SQL Server 2005 SP3的正式版,而这也将是该软件的最后一次升级服务,不过暂时只有英文版本,需要简体中文版的用户
- 在US BlackHat 2018大会上,安全人员证明,攻击者不仅可以利用PHAR包发动RCE攻击,而且,通过调整其二进制内容,他们还可以将
- 一、背景介绍在 Python 项目开发过程中,根据不同的项目场景,需要切换不同的 Python 版本。因此,我们经常会对不同的项目,创建特定
- 本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。为了方便前后台交互,利用了