Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息
  Ir7h4rg8vnGt 2023年11月02日 40 0


Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息



目录

输出结果

1、上海区块链职位

2、北京区块链职位

设计思路

核心代码







输出结果

1、上海区块链职位

国内某知名招聘网上海关于区块链职位的求职信息分析图

Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_日志系统

Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_02Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_03Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_04Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_05Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_06Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_07


2、北京区块链职位

国内某知名招聘网北京关于区块链职位的求职信息分析图

Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_html_08

Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_html_09Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_10Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_日志系统_11Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_html_12Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_html_13


设计思路

Python实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息

Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息_区块链_14




核心代码

from https import Http
from parse import Parse
from setting import headers
from setting import cookies
import time
import logging
import codecs

#logging.basicConfig函数为日志系统做基本配置:Python写比较大型的程序,用日志系统会方便发现错误。
logging.basicConfig(level=logging.ERROR,
format='%(asctime)s Process%(process)d:%(thread)d %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
filename='diary.log',
filemode='a')


def getInfo(url, para): #输入网址、参数实现获取网页上的内容
generalHttp = Http()
htmlCode = generalHttp.post(url, para=para, headers=headers, cookies=cookies)
generalParse = Parse(htmlCode)
pageCount = generalParse.parsePage()
info = []

def getInfoDetail(generalParse):
info = generalParse.parseInfo()
return info


def processInfo(info, para): #实现将爬取的网页内容存入到xls表格文件
logging.error('Process start')
try:
title = '公司名称\t公司类型\t融资阶段\t标签\t公司规模\t公司所在地\t职位类型\t学历要求\t福利\t薪资\t工作经验\t发布时间\n'
file = codecs.open('%s市有关区块链的职位信息表.xls' % para['city'], 'w', 'utf-8')
file.write(title) #file.write函数先将xls表格的列名写入xls文件内
for p in info: #for循环依次将十二个字段的内容写入xls文件
line = str(p['companyName']) + '\t' + str(p['companyType']) + '\t' + str(p['companyStage']) + '\t' + \
str(p['companyLabel']) + '\t' + str(p['companySize']) + '\t' + str(p['companyDistrict']) + '\t' + \
str(p['positionType']) + '\t' + str(p['positionEducation']) + '\t' + str(
p['positionAdvantage']) + '\t' + \
str(p['positionSalary']) + '\t' + str(p['positionWorkYear']) + '\t' + str(p['createTime'])+'\n'
file.write(line) #最后将line写入xls文件
file.close() #file.close()关闭xls文件
return True
except Exception as e:
print(e)
return None


def main(url, para): #函数开始进行爬取网址
logging.error('Main start')
if url:
info = getInfo(url, para)
flag = processInfo(info, para)
return flag
else:
return None

if __name__ == '__main__':
kdList = [u'区块链']
cityList = [u'上海', u'北京']
url = 'https://www.lagou.com/jobs/positionAjax.json'
for city in cityList:
print('现在开始爬取%s' % city)
para = {'first': 'true', 'pn': '1', 'kd': kdList[0], 'city': city} #{,页数,城市}
flag = main(url, para)
if flag: #if人性化输出是否爬取成功
print('%s爬取成功!' % city)
else:
print('%s爬取失败!' % city)





【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Ir7h4rg8vnGt