本文共 2006 字,大约阅读时间需要 6 分钟。
本文将介绍一个用于抓取智联招聘招聘信息的Python脚本,代码附件将对该脚本进行详细说明。
本脚本设计用于从智联招聘网站抓取招聘信息。目前支持获取一页招聘信息,后续将添加支持获取所有招聘信息的代码。
从指定URL获取招聘信息
解析HTML数据
将数据保存为JSON格式文件
支持多页面招聘信息获取(后续功能)
import requestsfrom bs4 import BeautifulSoupimport jsondef getDetails(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0' } res = requests.get(url, headers=headers) res.encoding = 'utf-8' soup = BeautifulSoup(res.text, 'html.parser') soup = json.loads(str(soup)) try: with open('jobDetails.txt', 'w') as f: print('创建 {} 文件成功'.format('jobDetails.txt')) except: print('failure') details = {} for i in soup['data']['results']: jobName = i['jobName'] salary = i['salary'] company = i['company']['name'] companyUrl = i['company']['url'] positionURL = i['positionURL'] details = { 'jobName': jobName, 'salary': salary, 'company': company, 'companyUrl': companyUrl, 'positionURL': positionURL } print(details) toFile(details)def toFile(d): dj = json.dumps(d) try: with open('jobDetails.txt', 'a') as f: f.write(dj) except: print('Error')def main(): url = 'https://fe-api.zhaopin.com/c/i/sou?pageSize=60&cityId=635&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=python&kt=3&lastUrlQuery={"jl":"635","kw":"python","kt":"3"}' getDetails(url)if __name__ == "__main__": main() 代码结构
导入库:使用requests和BeautifulSoup库进行网页请求和解析
函数定义:
getDetails(url):负责从指定URL获取招聘信息并解析toFile(d):将解析得到的数据写入文件main():执行主函数主要功能解析
网页请求:通过requests库发送HTTP请求获取网页内容
HTML解析:使用BeautifulSoup库解析HTML数据
数据保存:将解析结果以JSON格式保存到文件中
使用说明
执行脚本:直接运行main()函数即可
参数设置:可以通过修改main()函数中的url参数获取不同城市或关键词的招聘信息
请求限制:请确保运行脚本时有有效的互联网连接
数据格式:获取的招聘信息格式可能因页面变化而有所不同,建议根据实际情况进行调整
异常处理:脚本中已对常见异常进行处理,但具体异常情况请根据实际需求进行扩展
通过以上代码,可以轻松获取智联招聘的招聘信息,数据以JSON格式保存,方便后续处理和分析。
转载地址:http://qflfk.baihongyu.com/