当初自己在学爬虫时,因网上资料很多都是基于python2开发的,所以入门的时候走了不少弯路,为了减少大家少走弯路,今天就分享下基础入门爬虫。

学python当然对python的就业方向要有所了解,这次的爬虫基于前程无忧,首先打开网址 http://www.51job.com/

然后输入python 如下图所示:

进入网站后可以看到网址信息和招聘信息

通过查看网址信息,发现网址有点复杂,是不是感觉可能不怎么方便去采集数据?别担心这其实可能是开发者故意干扰我们的,经过分析可以看到真正的有效网址如下:

http://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html

然后翻阅第二页如下

经过分析可知参数仅仅改变了数字,而其对应的网址如下:

http://search.51job.com/list/000000,000000,0000,00,9,99,python,2,2.html

依次类推,以后的网页都可以通过改变一个参数就可以得到

右键检查便很轻松的可以得到对应网页的位置

如获取职位名称 第一个标题t1 = soup.select(‘.t1 span a’)[0].text

薪资t4 = soup.select(‘.t4’)[1].text 可以发现薪资soup.select(‘.t4’)[0].text并不是对应第一个招聘信息的薪水

源代码如下:

import requests
from bs4 import  BeautifulSoup
import xlwt
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'
}
def get_html():k=1 #参数k代表存储到excel的行数wb = xlwt.Workbook()  # 创建工作簿f = wb.add_sheet("招聘信息")  # 创建工作表'''下方的循环是将Excel表格中第一行固定Excel表第一行的前五列分别对应 职位、公司、工作地点、薪水、发布日期'''raw = ['职位', '公司', '工作地点', '薪水', '发布日期']for i in range(len(raw)):f.write(0, i, raw[i])'''write函数中第一个参数表示存储到多少行第二各参数存储到多少列表,第三个参数代表存储到对应行列的值'''url='http://search.51job.com/list/000000,000000,0000,00,9,99,python,2,{}.html'try:for page in range(12):#解析前11页res = requests.get(url.format(page))res.encoding = 'gbk'if res.status_code == 200:soup = BeautifulSoup(res.text, 'lxml')t1 = soup.select('.t1 span a')t2 = soup.select('.t2 a')t3 = soup.select('.t3')t4 = soup.select('.t4')t5 = soup.select('.t5')for i in range(len(t2)):job = t1[i].get('title')#获取职位href = t2[i].get('href')#获取链接company = t2[i].get('title')#获取公司名location = t3[i+1].text#获取工作地点salary = t4[i+1].text#获取薪水date = t5[i+1].text#获取发布日期print(job + " " + company + " " + location + " " + salary + " " + date + " " + href)f.write(k,0,job)f.write(k,1,company)f.write(k,2,location)f.write(k,3,salary)f.write(k,4,date)k+=1#每存储一行 k值加1wb.save('招聘.csv')#写完后掉用save方法进行保存except TimeoutError:print("请求失败")return  None
if __name__=='__main__':get_html()

小提示:记得先安装xlwt库,不然运行程序会报错哟

Python 爬取前程无忧相关推荐

  1. python爬取前程无忧scrapy存mogondb案例

    一.分析网页 新:python爬取前程无忧scrapy存mogondb案例+可视化 原网页直达 1.比如java字段,可以先拿到全部的el获取java字段的href,然后在逐个访问进入详情页 2.编写 ...

  2. python爬取前程无忧_用python爬取前程无忧网,看看我们是否真的“前程无忧”?...

    The best time to plant a tree was 10 years ago,the second best time is now. 种一棵树最好的时间是十年前,其次是现在. 利用p ...

  3. python爬取前程无忧职位信息

    欢迎关注我的微信公众号:AI进阶者,每天分享技术干货 相信很多小伙伴都面临找工作的问题,本人目前正在魔都读研,也面临明年春招找实习秋招找工作等一系列问题,由于本人的专业为机械专业,结合今年的就业状况( ...

  4. 用python爬取前程无忧网,看看我们是否真的“前程无忧”?

    作者:旧时晚风拂晓城 公众号:凹凸数据 The best time to plant a tree was 10 years ago,the second best time is now. 种一棵树 ...

  5. python爬取前程无忧当日的全部招聘信息

    用了几天时间写成的爬取前程无忧的当日的招聘信息,通过多线程的方式同时爬取多个城市的信息,作为资料保存下来,一下是完整代码,可以直接复制粘贴爬取 这里爬取的数据条件是是24小时内,周末双休的,会在当前文 ...

  6. python爬取前程无忧热门城市职位信息

    问题描述 从前程无忧网站:https://www.51job.com/上查询热点城市(北京.上海.广州.深圳.武汉.西安.杭州.南京.成都.苏州)程序员的招聘信息.要求在Excel文件中保存招聘信息( ...

  7. 用python爬取前程无忧招聘网

    直接上代码了,相比前篇文章智联招聘网的数据,前程无忧网的数据可以爬取很多. 网址:https://search.51job.com/list/040000,000000,0000,00,9,99,%2 ...

  8. python爬取前程无忧分析一波机械职位信息

    秋招这个时候已经开始了,正所谓知己知彼方能百战不殆,今天就从招聘网站下手分析一波机械的就业前景. 这次获取数据的网站是前程无忧,之所以选择前程无忧,是因为数据获取没有什么难度,再者前程无忧提供的岗位信 ...

  9. python爬取前程无忧招聘网站数据搭建Hadoop、Flume、Kafka、Spark用Hive做数据分析Sqoop存储到Mysql并实现可视化

    文章目录 一.项目总体要求 二.环境搭建 1.安装包准备 2.安装jdk (1)查询是否安装java (2)卸载jdk (3)安装jdk (4)配置jdk环境变量 3.配置ssh免密登录 (1)进入到 ...

  10. 大数据项目开发hadoop集群搭建 python爬取前程无忧招聘网信息以及进行数据分析和数据可视化

    大数据项目开发实训报告 一.Hadoop环境搭建 1: jdk的安装 1):在linux系统下的opt目录下创建software 和 module 两个目录 2):利用filezilla工具将 jdk ...

最新文章

  1. 100c之36:不同鸡的数量
  2. python【蓝桥杯vip练习题库】ADV-104打水问题
  3. 3.1.10 OS之基本分段存储管理(段表、地址变换、信息共享)
  4. 【剑指offer】21、调整数组顺序使奇数在偶数前面
  5. Satwe楼板能用弹性模计算吗_现浇楼板淋水后却出现裂缝,还好老师傅有经验,多是这3点造成的...
  6. 让你一目了然的ip划分!
  7. QQuickWidget + QML编程实现酷炫动态动画效果
  8. 挂钩Windows API
  9. android自带模拟器吗,安卓sdk自带模拟器的使用
  10. safari里的touch事件解析
  11. IOS 使用webview 显示 doc/docx/xls/pdf等
  12. 体验WebEx网络会议
  13. 微软收购开源数据库厂商Citus Data,云数据库服务能力再填新砝码
  14. Java集合常见面试题集锦
  15. 2、Ubuntu下安装Vivado下的下载器驱动 Digilent 版本
  16. 机器学习课程讲义·第二章,线性模型系列
  17. php中调整图片大小,php 调整图片尺寸的简单示例
  18. 【转贴】龙芯生态产品和解决方案巡展(第二篇)——笔记本电脑
  19. ios input不能唤醒_如何使iOS的“唤醒唤醒”每次都能正常工作
  20. ckeditor+vue 傻瓜式操作教程

热门文章

  1. 7. GC 调优(实战篇) - GC参考手册
  2. Scrum 项目6.0-展示Sprint回顾的过程及成果。
  3. 计算机打不开sai文件夹,解决 Excel打开桌面文件 显示“无法找到C:\Documents.xls。请检查文件名的...”错误...
  4. CefSharp的ChromiumWebBrowser截出来的图片是空白
  5. 安装Bumblebee解决Ubuntu笔记本发热量大问题
  6. SpringBoot整合Logback日志框架+Slf4j注解使用
  7. 中兴通讯能制造服务器吗,中兴通讯服务器搭载“黑匣子”功能,让故障无处遁形...
  8. 初识 GDPR:史上最严格的数据保护条例
  9. 这可能是2021年GDPR的最大罚单
  10. java、redis、mysql归纳总结