51job
所属分类:数据采集/爬虫
开发工具:GO
文件大小:1013KB
下载次数:0
上传日期:2016-08-11 07:17:38
上 传 者:
sh-1993
说明: Golang:抓取前程无忧51job的go爬虫网站,支持离线和在线
(Golang: Grab 51job s go crawler website, supporting offline and online)
文件列表:
cons (0, 2016-08-11)
cons\address.go (23685, 2016-08-11)
cons\cons.go (3066, 2016-08-11)
img (0, 2016-08-11)
img\step1.png (225772, 2016-08-11)
img\step2.png (371847, 2016-08-11)
log (0, 2016-08-11)
log\log.go (2369, 2016-08-11)
model (0, 2016-08-11)
model\51job.sql (2507, 2016-08-11)
model\51jobcrub.go (3099, 2016-08-11)
model\51jobmodel.go (2437, 2016-08-11)
pika (0, 2016-08-11)
pika\args.go (2053, 2016-08-11)
pika\parse.go (5618, 2016-08-11)
pika\pika.go (2237, 2016-08-11)
pika\search.go (6504, 2016-08-11)
server (0, 2016-08-11)
server\server.go (5492, 2016-08-11)
sh (0, 2016-08-11)
sh\init.sh (644, 2016-08-11)
util (0, 2016-08-11)
util\file.go (229, 2016-08-11)
util\httpika.go (4061, 2016-08-11)
util\mysql.go (284, 2016-08-11)
util\time.go (414, 2016-08-11)
util\util.go (523, 2016-08-11)
web (0, 2016-08-11)
web\conf (0, 2016-08-11)
web\conf\app.conf (253, 2016-08-11)
web\conf\locale_en-US.ini (120, 2016-08-11)
web\conf\locale_zh-CN.ini (146, 2016-08-11)
web\controllers (0, 2016-08-11)
web\controllers\app.go (2132, 2016-08-11)
web\controllers\default.go (987, 2016-08-11)
web\controllers\job.go (2078, 2016-08-11)
web\main.go (200, 2016-08-11)
... ...
#此项目已经弃用,因为51改版了,参数变了,需要调参数....
# 项目名:pikapika
```
时间:2015.5.27周五
需求说明:
简历爬虫需求。
定时根据若干关键字对51jobs进行简历抓取,简历数据进行保存,方便HR以离线形式进行检索/查看。Web端展示暂时无需求。
解决方案:
1.模拟加载登陆页面链接,提取隐藏字段,输入用户名/验证码等模拟登陆,保存cookie。
2.模拟加载搜索最终页,更新cookie,提取隐藏字段,构造参数。
3.接2,url携带参数进行模拟加载搜索最终页,得到搜索列表,更新cookie。搜索列表数据信息可存入数据库。
4.接3,提取搜索列表简历链接及隐藏字段,进行模拟加载简历详情页,对数据进行提取存入数据库。
难点:
1.只能单用户登陆,需要写强制下线
2.反爬虫:严格验证报文头
3.反爬虫:Cookie时刻更新
4.反爬虫:页面访问有顺序,每次都会产生隐藏字段
5.反爬虫:速度不能过快,故不能用并发
记录总结:
1.51job爬虫项目中Go语言进阶成功,熟练程度飙升,成为熟悉语言。
2.51job爬虫项目开发完毕,解决各种开发难题,更加熟悉Go语言标准库及网络协议。
3.51job爬虫项目程序成果:自动保存为本地文件,不按关键字去重,按时间/关键字/页数/排位为文件夹进行保存,方便HR直接查看。其次自动去重存入数据库,实现可持续的简历保存。一次可抓取3000人简历,且智能强制下线/容错处理/被封解决方案。
4.数据库数据仍待输出可视化,但HR暂无需求,只需本地文件即可。数据库中数据仍有待挖掘。
```
# 介绍
>皮卡丘,十万伏特!
>pikapika,振奋人心的口号!
>主要对各种招聘网站进行简历爬取,进行存储整理优化。
>你有才你就来!
>这个项目是因为HR想要看简历
>而且还需要很多简历
# 进展:
一期:51job 2016/5
# PikaPika部署说明
# 软件要求
>go环境 1.6 beego框架1.6
>mysql数据库(建议数据库遵循中国-北京时间)
# 部署顺序:
1.设置项目路径
GOPATH="/home/username/path"
2.进入路径拉下项目
cd /home/username/path
git clone https://www.github.com/hunterhug/51job
3.进入51job/sh 运行init.sh补充外围包
./init.sh
4.进入51job/model将51job.sql导入数据库(可以忽略,因为开启服务时自动建表,但是可能出现问题)
## 开启爬虫服务
6.进入51job/server,运行webserver.go开启爬虫服务,端口默认8099,可以更改
go run webserver.go
或者
go build webserver.go
./webserver
配置账户密码51job/pika/args.go
var companyname=""
var userName = ""
var password = ""
配置文件在51job/cons/cons.go
//数据库配置
const (
//数据库账号:数据库密码@tcp(数据库ip:端口号)/数据库名?编码等
Db = "root:112344@tcp(localhost:3306)/beego_blog?charset=utf8&loc=Local"
//数据库日志
LogPath = "../log/db.log"
//开启日志?
OpenDbLog = false
//用户头像保留地
ImagePath = "../data/img/"
)
默认爬虫日志不保存在本地,如果需要保存在本地,请打开51job/log/log.go
// 保存爬虫日志到本地?
var openlog = false
## 开启网站服务
7.开启小蜜蜂,安装bee工具
go install github.com/beego/bee
cd 51job/web
bee run
如果小蜜蜂安装失败,请按照以下操作
cd 51job/web
go build main.go
./main
配置文件在51job/web/conf/app.conf
httpaddr = "127.0.0.1" //地址
httpport = 8088 //端口
mysqluser = "root"
mysqlpass = "45454"
mysqlurls = "127.0.0.1"
mysqlport = 3306
mysqldb = "51job"
pikapika="127.0.0.1:8099" //爬虫控制台地址
请自行修改
# 访问链接
[http://localhost:8099/](http://localhost:8099/) 爬虫控制台
[http://localhost:8088/](http://localhost:8088/) 网站
近期下载者:
相关文件:
收藏者: