如果大家没有看之前的requests课程,必须去看一下,不然看不懂今天的课程的!
点我查看requests课程:网络爬虫——实战项目2(爬取某社区所有论文,含代码)
一、课程介绍今天我做的项目是利用requests模块爬取前途无忧平台的职位信息到数据库
今天的目标是:
一、获取前途无忧所有有关python、java职位名称
二、获取前途无忧所有有关python、java工作地点
三、获取前途无忧所有有关python、java资信待遇
四、将获取到的数据存入到数据库中
五、最终结果
(1.)6w+java岗位:
电气/python工程师
我们分析一下上面的职位有:电气/python工程师、Python开发工程师、Python开发工程师、Python开发工程师有三个Python开发工程师,我们可以先观察一下他们的特点:(找到他们唯一的特性)
在title里(不唯一),往上看,<a target="_blank"(不唯一),还要网上找,大家一定要耐心
到最后,我们就会发现一下规律:终于区分开职位和其他了:(剩下的两个交给大家来找,很简单的)
job_name_s = 'style="display:none" />.*?.*?
这两个是工作地点和工作新资的正则表达式(大家可以参考):下面看不懂请翻到文章开头!
job_name_s = 'style="display:none" />.*?.*?(.*?)'
job_add = re.compile(job_add_s,re.S).findall(data)[1:]
job_money_s = '(.*?)'
job_money = re.compile(job_money_s,re.S).findall(data)[1:]
3、将爬取的信息存入数据库
直接上源代码:需要下载第三方库函数,没有的需要下载
#经过观察,每页有50个数据,也就是说每个正则表达式数组长度为50,每次将一个插入数据库中
for j in range(0,50):
sql = "insert into java_job(job_name,job_add,job_money) values('" + job_name[j] + " ',' " + job_add[j] + " ',' " + job_money[j] + "')"
conn.query(sql)
conn.commit()
二、获取完整源代码
代码代写(实验报告、论文、小程序制作)服务请加微信:ppz2759
关注下方公众号,回复“爬虫133”即可获取源代码
作者:程序员小哲