罗戈网
搜  索
登陆成功

登陆成功

积分  

顺丰时效价格爬取

[罗戈导读]①分析请求;②代码实现;③检测反爬。代码写完无问题后,基本就可以做到批量爬取了。

长话短说,最近真有点忙,现在才写第一篇关于真正关于爬虫的文章,本篇只是粗略讲解如何爬取顺丰官网展示的价格和时效。爬虫按照网页类型不同,可以分为静态网页爬虫和动态网页爬虫。动态网页的爬虫大致可以分为三步:①分析请求;②代码实现;③检测反爬。代码写完无问题后,基本就可以做到批量爬取了。

一、爬虫第一步,分析请求

    打开浏览器,进入顺丰速运官网,进入运费时效价格查询界面,鼠标右键点击后选择检查,进入开发者模式(笔者使用谷歌浏览器,不同浏览器殊途同归),点击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或爬虫的,可能看不太懂。没关系,一开始我也懵逼,只要有个积跬步至千里的信念和兴趣...

来源|
免责声明:罗戈网对转载、分享、陈述、观点、图片、视频保持中立,目的仅在于传递更多信息,版权归原作者。如无意中侵犯了您的版权,请第一时间联系,核实后,我们将立即更正或删除有关内容,谢谢!
上一篇:顺丰+小牛电动车,一年发件量超100万
下一篇:圆通、申通公布“期中成绩”,表现怎么样?
罗戈订阅
周报
1元 2元 5元 10元

感谢您的打赏

登录后才能发表评论

登录

相关文章

2025-02-20
2025-02-18
2025-02-17
2025-02-17
2025-02-17
2025-02-12
活动/直播 更多

2.22北京【线下公开课】仓储精细化管理:从混乱到有序

  • 时间:2025-02-22 ~ 2025-02-23
  • 主办方:冯银川
  • 协办方:罗戈网

¥:2580.0元起

报告 更多

2025年1月物流行业月报-个人版

  • 作者:罗戈研究

¥:9.9元