Python
Python开发
Python语言
Python爬虫实战-抓取boss直聘招聘信息
实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来
PS注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个Python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步!
0 环境搭建
MacBook Air (13-inch, )
CPU:1.8 GHz Intel Core i5
RAM:8 GB 1600 MHz DDR3
IDE:anaconda3.6 | jupyter notebook
Python版本:Python 3.6.5 :: Anaconda, Inc.
1 安装scrapy
过程在参考链接中,我只说与上面不一致的地方
遇到报错,无法调用gcc*解决方案:mac自动弹出安装gcc提示框,点击“安装”即可
安装成功,安装过程中,终端打印出“distributed 1.21.8 requires msgpack, which is not installed.”
解决方案:
2 新建项目
源码文件关系
tree这个命令挺好用,微软cmd中自带,Python没有自带的,可以参考网上代码,自己写一个玩玩。
3 定义要抓取的item
与源代码基本一致
4 分析页面
现在页面改版了,发布时间有了小幅度调整
页面
HTML结构如下
5 爬虫代码
这一步有些看不懂,硬着头皮往下写,不懂得先记着
5.1关于request headers
比如headers中,我在自己的浏览器中找不到下面内容x-devtools-emulate-network-conditions-client-id ??postman-token ??
我该学习一下request headers中内容目前采用的方法是把作者的headers拷贝过去,然后我这边有的我替换掉,没有的比如x-devtools我就用作者原有的。
5.2 关于extract_first()和extract()
extract_first()和extract()的区别:提取全部内容: .extract(),获得是一个列表提取第一个:.extract_first(),获得是一个字符串
Selectors根据CSS表达式从网页中选择数据(CSS更常用)response.selector.css('title::text') ##用css选取了title的文字内容由于selector.css使用比较普遍,所以专门定义了css,所以上面也可以写成:response.css('title::text')
debug完最后一个错误之后,第五步终于跑通了,截个图
爬取boss直聘上面关于python的职位
存入json文件的模样有点奇怪,没汉字,第六步应该会解决:
第五步因为网页发生改版,所以发布时间time这块需要修改一下,其他都没有问题。我也把源码贴一下:
内容来源于网络,如有侵权请联系客服删除