之前在 V2 求问过爬取拉勾的思路。现在基本达到自己的要求了。分享出来。希望有用。
如下 Request URL 中的 %E7... 即为对应查询关键字的 16 进制表现形式。
如下 Form Data 皆为 Post 需要构建的表单。
def insert_data(self,data):
data['_id'] = data['positionId']
data['updateTime'] = datetime.datetime.now()
# 防止重复插入
db.Collection.update_one(
filter={'_id': data['_id']},
update={'$set': data},
upsert=True
)
count = db.Collection.count()
print u'已经存储了:',count,u'条记录'
写了很多爬虫,分享给大家。共同进步学习。希望有用。
如下为构建的存储信息:
formatData = {
"companyShortName": i['companyShortName'],
"salary":i['salary'],
"city": i['city'],
"education": i['education'],
"positionName": i['positionName'],
"workYear": i['workYear'],
"companySize": i['companySize'],
"financeStage": i['financeStage'],
"industryField": i['industryField'],
"positionId":i['positionId']
}
1
ioiogoo 2016-08-15 19:27:04 +08:00
`如下 Request URL 中的 %E7... 即为对应查询关键字的 16 进制表现形式`
这个应该是 url 编码后的表现形式啊 |
2
allencode OP |
3
lzgbeyong 2016-08-16 11:07:55 +08:00
楼主资料整理的很详细,赞一个。
正好我最近用 ndoe 也做了一个拉勾网的爬虫,可以实时在线查看招聘职位数量和城市的分布,有兴趣的可以看看。 因为 js 的异步特性,爬取多个 url 的信息会比 python 快很多。 在线地址: http://123.56.17.200:8082/ github 地址: https://github.com/woxixiulayin/lagou_spider |
7
pathbox 2016-08-16 20:04:11 +08:00
果然 还是会被封
|
8
allencode OP @pathbox 嗯呢。爬了两个晚上。都是早上被封的。后来抓了些代理,但是可用性不高。能用的也只有五六个。我把抓代理的代码也贴上好了。
|