资源简介
通过Python获取拉勾网职位信息,仅供大家学习参考!
代码片段和文件信息
from bs4 import BeautifulSoup
import urllib.request
from com.test.model.RecruitInfo import RecruitInfo
import xlwt
# 插入表头数据
def insert_form_head(sheet key_array):
# 头所对应的单元格样式
head_style = xlwt.easyxf(‘font: bold on; align: wrap on vert centre horiz center‘)
for index in range(len(key_array)):
# 插入表头,参数含义:首行,尾行,首列,尾列,对应键,头部单元格样式
sheet.write_merge(0 0 index index key_array[index]head_style)
# 获得工作年限
def get_work_year(main_tag):
data = str(main_tag)
soup = BeautifulSoup(data ‘html.parser‘)
tag = soup.find(‘div‘ class_=‘li_b_l‘)
handleText = str(tag)
str1 = ‘->‘
startIndex = handleText.find(str1 0)
divTag = ‘
endIndex = handleText.find(divTag 0)
workYear = handleText[startIndex + len(str1):endIndex]
return workYear
# 遍历获得职位信息
def get_main_recruit_info(soupsheet):
global row_index
for tag in soup.find_all(‘li‘ class_=‘con_list_item default_list‘):
companyName = tag.get(‘data-company‘)
positionName = tag.get(‘data-positionname‘)
salary = tag.get(‘data-salary‘)
re = RecruitInfo(companyName positionName salary get_work_year(tag))
value = ‘‘
# keyArray 列名(“公司名称“ “职位名称“ “薪资“ “工作年限/学历“)
for column_index in range(len(keyArray)):
if column_index == 0:
value = re.companyName
elif column_index == 1:
value = re.position
elif column_index == 2:
value = re.salary
elif column_index == 3:
value = re.workYear
sheet.write_merge(row_index row_index column_index column_indexvaluevalue_st
row_index = row_index + 1
# 创建并写入数据到excel,创建时必须add_sheet
def write_to_excel(sheettype):
for index in range(30):
soup = get_html_data(index+1 type)
if index == 0:
insert_form_head(sheet keyArray)
else:
get_main_recruit_info(soup sheet)
def get_html_data(indextype):
# 网址
url = “https://www.lagou.com/zhaopin/“+type+“/“+str(index)+“/?filterOption=1“
# 请求
headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6‘}
request = urllib.request.Request(urlheaders=headers)
# 爬取结果
response = urllib.request.urlopen(request)
data = response.read()
# 设置解码方式
data = data.decode(‘utf-8‘)
soup = BeautifulSoup(data ‘html.parser‘)
return soup
# 类似于java的main函数
if __name__ == ‘__main__‘:
# 键名,也就是excel的表头
keyArray = (“公司名称“ “职位名称“ “薪资“ “工作年限/学历“)
# 行数,从1开始取,第0行作为表头
row_index = 1
# 职位分类,也就是sheet的分类
jobArray = (‘Android‘ ‘iOS‘ ‘Java‘)
# 值所对应的单元格样式
value_st
# 创建excel工作簿
excelFile = xlwt.Workbook()
for jobType in jobArray:
# 添加sheet
sheet = excelFile.add_shee
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3818 2017-07-10 10:01 lagouDataCatch.py
文件 616 2017-06-27 10:56 RecruitInfo.py
----------- --------- ---------- ----- ----
4434 2
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论