Python培训
400-996-5531
受一个跨专业在努力学习Python的好朋友所托,算一个约稿。
我之前发朋友圈(大概)说我认为爬虫是最没技术含量的东西...包括现在也这么觉得,因为这个东西对程序员来说可能是最简单的东西了...但架不住它实在挺有趣的,因为它带来的是短时间内能看到的最大可视化可利用的成果,可以极大增加你学习路线上的乐趣。
虽然我说没技术含量,我的意思不是说大家不要去学这个东西,而是说,身为程序员(划重点)不要把这个看成是什么很厉害的东西,它只是一个辅助工具,真正的难点是对你爬取的数据的后续处理...
我前段时间看到一篇文章,是通过Python把微博上薛之谦和李雨桐微博底下的评论全部扒了下来,然后通过jieba分词,最后生成词云来看广大网民在想些什么,最后是脑残粉依旧无脑支持,路人怕反转等实锤...不过说实话这场战斗我真的看吐了,我不想看每天刷刷微博虎扑都强行给你往眼睛里灌……
说了这么多废话,总是意思就是我自己打自己脸了,爬虫虽然没技术含量,但真的有点好玩儿...接下来进入正题说说怎么用Python去爬百度地图的东西。
简单来说,对于一个动态页面,浏览器获取数据无非是通过GET或POST两种方式,然后用参数告诉它我想要什么。
那么怎么去获取这些参数呢?以百度地图为例。
最粗暴的方法就是,进入map.baidu.com,摁下F12,然后切换到Network下,随便搜一点东西,就会看到有源源不断的东西流进来。
注意到,上方URL后面跟着的是 ?newmap=1&s=con%26wd%3D 字样,我们通过排序方式找到和这个字样相同的文件,通常选择第一个,当然其他的也可以看看有没有我们想要的参数。
然后看到这里就是我们想要的参数啦:
参数意义是不明的,得自己去试,最后我用了这么几个参数,发现应该是可以用的:
以字典的形式存储在Python文件里,这里要注意的是城市代码,这个要通过百度官方提供的文档去获取,靠猜是猜不到的。
接下来就是一些很常规的步骤,用正则表达式去匹配我们想要的结果,这里我对参数的设置是看看有一个城市的必胜客数量,地址和联系方式:
最后通过改变字典对应键的值来更改希望搜索的城市:
整个爬虫就完成了,总结一下就是先获得参数,然后通过代码模拟浏览器提交给服务器,最后得到服务器返回的结果,所以要获得结果并不难,如何去处理这些结果然后提取你想要的东西才是关键。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved