python爬虫开发–实战百度招聘(json包的处理)
来源:互联网 发布:淘宝同款原理 编辑:程序博客网 时间:2024/06/03 17:52
今天开始做了一个抓取有用信息的工具。
我选择了一个百度找工作的入口。
直接抓取能去到当前页面的所有信息,但是没有找到下一页的链接。通过岔开源代码,原来是动态加载的js代码。
F12开发者工具轻松的找到get提交的数据:
html = urllib2.urlopen(r’http://zhaopin.baidu.com/api/async?query=python&salary=&welfare=&education=&sort_key=&sort_type=1&city=%E5%8C%97%E4%BA%AC&district=&experience=&employertype=&jobfirstclass=&jobsecondclass=&jobthirdclass=&date=&detailmode=close&rn=30&pn=90‘)
其中很明显参数和页数以及搜索的类型有关系,这样就能构造下次页面抓取的链接。
点击这个链接之后发现返回的是json代码(而且是乱码),不要紧,先抓下来再说。
#-*- coding:utf-8 -*-import urllib2import jsonimport sysreload(sys)sys.setdefaultencoding('utf-8')html = urllib2.urlopen(r'http://zhaopin.baidu.com/api/async?query=python&salary=&welfare=&education=&sort_key=&sort_type=1&city=%E5%8C%97%E4%BA%AC&district=&experience=&employertype=&jobfirstclass=&jobsecondclass=&jobthirdclass=&date=&detailmode=close&rn=30&pn=90')hjson = json.loads(html.read())
其中json.loads 这里就把json格式的包变成了dict类型的数据了
,接下来就能像操作字典一样操作他了。
补充:
d1 = json.dumps(data1,sort_keys=True)
这个函数是吧字典转换成json包的
接下来就是一层一层的剥开json报了,平行的[]这种需要先取出元素再次网下拨。
具体代码如下:
for i in range(30):print i#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['disp']#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['req']#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['url']# print hjson['data']['data']['OtherInfo']['job_fenlei'][0]#print hjson['data']['data']['disp_data'][i]print hjson['data']['data']['disp_data'][i]['StdStg']print hjson['data']['data']['disp_data'][i]['StdStl']print hjson['data']['data']['disp_data'][i]['_update_time']print hjson['data']['data']['disp_data'][i]['city']print hjson['data']['data']['disp_data'][i]['companyaddress']print hjson['data']['data']['disp_data'][i]['companydescription']print hjson['data']['data']['disp_data'][i]['description']print hjson['data']['data']['disp_data'][i]['description_jd']
哈哈哈,这样就能抓到当前页的所有代码了,红红火火哈哈哈哈哈哈哈哈哈
结果如下
今天开始做了一个抓取有用信息的工具。
我选择了一个百度找工作的入口。
直接抓取能去到当前页面的所有信息,但是没有找到下一页的链接。通过岔开源代码,原来是动态加载的js代码。
F12开发者工具轻松的找到get提交的数据:
html = urllib2.urlopen(r’http://zhaopin.baidu.com/api/async?query=python&salary=&welfare=&education=&sort_key=&sort_type=1&city=%E5%8C%97%E4%BA%AC&district=&experience=&employertype=&jobfirstclass=&jobsecondclass=&jobthirdclass=&date=&detailmode=close&rn=30&pn=90‘)
其中很明显参数和页数以及搜索的类型有关系,这样就能构造下次页面抓取的链接。
点击这个链接之后发现返回的是json代码(而且是乱码),不要紧,先抓下来再说。
#-*- coding:utf-8 -*-import urllib2import jsonimport sysreload(sys)sys.setdefaultencoding('utf-8')html = urllib2.urlopen(r'http://zhaopin.baidu.com/api/async?query=python&salary=&welfare=&education=&sort_key=&sort_type=1&city=%E5%8C%97%E4%BA%AC&district=&experience=&employertype=&jobfirstclass=&jobsecondclass=&jobthirdclass=&date=&detailmode=close&rn=30&pn=90')hjson = json.loads(html.read())
其中json.loads 这里就把json格式的包变成了dict类型的数据了
,接下来就能像操作字典一样操作他了。
补充:
d1 = json.dumps(data1,sort_keys=True)
这个函数是吧字典转换成json包的
接下来就是一层一层的剥开json报了,平行的[]这种需要先取出元素再次网下拨。
具体代码如下:
for i in range(30):print i#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['disp']#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['req']#print hjson['data']['data']['OtherInfo']['job_fenlei'][i]['url']# print hjson['data']['data']['OtherInfo']['job_fenlei'][0]#print hjson['data']['data']['disp_data'][i]print hjson['data']['data']['disp_data'][i]['StdStg']print hjson['data']['data']['disp_data'][i]['StdStl']print hjson['data']['data']['disp_data'][i]['_update_time']print hjson['data']['data']['disp_data'][i]['city']print hjson['data']['data']['disp_data'][i]['companyaddress']print hjson['data']['data']['disp_data'][i]['companydescription']print hjson['data']['data']['disp_data'][i]['description']print hjson['data']['data']['disp_data'][i]['description_jd']
哈哈哈,这样就能抓到当前页的所有代码了,红红火火哈哈哈哈哈哈哈哈哈
结果如下:
- python爬虫开发–实战百度招聘(json包的处理)
- Python爬虫实战一之使用Beautiful Soup抓取百度招聘信息并存储excel文件
- python 爬虫 爬智联招聘的招聘要求
- Python爬虫实战(2):百度贴吧帖子
- Python爬虫实战(2):百度贴吧帖子
- python爬虫入门 实战(二)---爬百度贴吧
- python爬虫实战2-百度贴吧
- Python爬虫实战:百度贴吧帖子
- Python爬虫框架Scrapy实战之批量抓取招聘
- python3 [爬虫入门实战] 爬虫之使用selenium 爬取百度招聘内容并存mongodb
- Python爬虫包 BeautifulSoup 学习(二) 异常处理
- Python简单爬虫开发的学习笔记整理(爬取百度百科词条)
- python爬虫实战(1)——开发环境搭建
- Python爬虫实战二:下载百度贴吧帖子内的壁纸
- Python爬虫实战(五) :下载百度贴吧帖子里的所有图片
- Python爬虫实战(二)
- Python爬虫实战(一)
- python爬虫实战(四)
- 安装ntfs-3g挂载ntfs格式硬盘=centos7自学之三
- CodeForces 665B Shopping
- PHP名言警句
- ava单例模式的正确写法
- firewall-cmd命令使用
- python爬虫开发–实战百度招聘(json包的处理)
- OBJ-C对象的存储细节学习笔记
- PHP注销删除Session变量的通用方法
- OBJ-C NSString类介绍及用法学习笔记
- 第7章 消费者、生产者与市场效率
- CodeForces 665C Simple Strings
- HDU 5672 String(尺取法)——BestCoder Round #81(div.1 div.2)
- HDU 4355-三分
- Jquery应用实例