目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中
####基本环境配置:
- Python版本:2.7
- 开发工具:pycharm
- 系统:win10 ####相关模块:
import urllib2
import re
import xlwt
####完整代码:
import urllib2
import re
import xlwt
'''
遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!
'''
class ZLZP(object):
def __init__(self,workname,citys):
# 记录查找工作名称
self.workname = workname
# 基础URL地址
self.url = 'http://sou.zhaopin.com/jobs/searchresult.ashx?'
# 工作名称
args = 'kw=%s&jl='%workname
# 工作地点
for city in citys:
# 判断城市是否为最后一个
if city == citys[-1]:
args += city
else:
args += city
args += '%2B'
# kw=python&jl=北京%2B上海%2B南京%2B广州%2B深圳
# 拼接完整的url地址
self.url += args
self.headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0'
}
# 根据页码获取某一页HTML源代码
def get_page(self,pageNum):
# 1.根据页码拼接完整的url地址
getUrl = self.url + '&p=%s'%pageNum
# 2.创建request对象
request = urllib2.Request(getUrl,headers=self.headers)
try:
response = urllib2.urlopen(request)
except Exception ,e:
print '获取第%s页数据失败,原因%s'%(pageNum,e)
return None
else:
return response.read()
# 从html代码中提取总职位数
def get_total(self,html):
# 1.准备正则表达式
pattern = re.compile(r'
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?