长话短说,最近真有点忙,现在才写第一篇关于真正关于爬虫的文章,本篇只是粗略讲解如何爬取顺丰官网展示的价格和时效。爬虫按照网页类型不同,可以分为静态网页爬虫和动态网页爬虫。动态网页的爬虫大致可以分为三步:①分析请求;②代码实现;③检测反爬。代码写完无问题后,基本就可以做到批量爬取了。
一、爬虫第一步,分析请求
打开浏览器,进入顺丰速运官网,进入运费时效价格查询界面,鼠标右键点击后选择检查,进入开发者模式(笔者使用谷歌浏览器,不同浏览器殊途同归),点击network。如果对浏览器开发者模式不习惯,可以选择使用fiddler进行抓包分析,教程网上一大堆,在这就不细讲啦。
此时可以尝试输入始发地、目的地、重量、寄件时间后点击查询,如下图所示,顺丰官网向服务器发送的是城市代码,重量和时间数据。
划重点:核心点要知道向哪个网址发送请求,采取哪种方式(Get或Post),请求头的内容,请求发送的数据,按上述说的五点,写好代码一般就能拿到数据了。但越来越多的网站已经开始在前台利用JS代码按照一定的加密规则生成一段密匙,照样能爬,只不过需要看懂JS代码,这个是后话。
AJAX请求,正常服务器返回的是JSON数据,可以看下Response中返回的JSON数据。
对JSON数据美化后的样子是这样滴。
可以很自豪的说:终于拿到顺丰了顺丰的时效价格数据。但这只是万里长征第一步...
顺丰官网爬虫难度比较大的一点是城市代码从哪来的???这里就不嗦了,就直接告诉大家答案。
划重点:城市代码的来源是点击原寄地或目的地后,根据你的选择,一步步向服务器发送请求得来的。大概的流程是选择省并点击-返回省下边所有市及编码-页面拿到市数据并向用户展示-用户选择市并点击-返回市下边所有的县及其编码。
二、代码实现
写代码,真的要做好解决各种BUG的准备...有的时候,一个BUG能搞了一个小时,很绝望!
一般爬虫经常使用到的库主要有requests,pyquery,pandas,selenium等等等,库很多,但都殊途同归。直接上代码,就不详细展开讲了。
三、测试反爬
一般主流的反爬机制有检测IP短时间访问次数、文字&字母验证码、图片验证码、短信验证码等等,不同的验证码解决手段有较大差异。
划重点:对应反爬的解决方式主要有以下方式
1.检测IP:限定爬虫频率或定期更换高匿名IP;
2.文字&图片验证码:一般需要利用机器学习;
3.图片验证码(选择图片或滑动滑块):一般利用专业三方机构提供的接口辅助验证,即把后台返回的图片利用api发送给三方机构服务器后返回数据;
顺丰反爬的手段相对简单些,就是检测IP短时间访问量,访问多了,就会被封IP。相应的解决方案也非常简单,即生成一个0-1之间的随机描述,让程序沉睡下,就可以了。
不懂Python或爬虫的,可能看不太懂。没关系,一开始我也懵逼,只要有个积跬步至千里的信念和兴趣...
来源|从仓储规划,看DeepSeek的实用性、局限性和突破之道
3574 阅读单月总货量同比增长734.4%!独家解读顺嘉国际货站跨越式增长背后的效率密码
1918 阅读跨越速运第21架全货机入列+西部枢纽空侧启用,航空运力完成中国版“锁喉”!
1109 阅读“京东服务+”洗衣中央工厂招商、3C上门安装/维修招商
1107 阅读DeepSeek落地全球第一大港
990 阅读德邦物流注销回购股份 京东物流持股比例升至75.4%
932 阅读传“6800底薪+五险一金”招外卖小哥,0佣金的京东外卖能否杀出重围?
952 阅读冷链不只是物流,还是依托供应链的生态
897 阅读京东外卖重点推广39城
826 阅读极兔速递荣登《时代周刊》2025亚太地区最佳公司500强
792 阅读