数据分析 - 跨境电商爬虫成长记 之 第三篇:完整的爬虫工作环节有哪些
前言
大神 崔庆才《健壮高效的网络爬虫》中把爬虫分为网页爬虫、APP爬虫,又根据网页渲染方式、APP接口又进行了细分,想了解更深入的伙伴们可去参考原著。
由于工作的原因,本人搞得更多的是网页爬虫,其实在爬虫圈大多玩的也是网页爬虫;相对APP爬虫而言,网页爬虫的门槛更低,是大部分玩家的练手起点,本篇也是主要介绍网页爬虫的相关内容。
1.单线式、扣链式、散花式
根据采集动作不同分为单线式、扣链式爬虫。
(1)单线式爬虫
即一次request,其response就是目标数据;单线式爬虫十分常用,如爬电商平台上产品介绍页、社交网站上文章内容、基金网站的基金详情页面等等。
(2)扣链式爬虫
从第1次request返回的response中得到第2次request的url,接着从第2次request返回的response中得到第3次request的url .... ,如此一环接一环扣下去。如“翻页”式爬虫,从上一页的response得到下一页的url。
(3)散花式爬虫
从第一步是第1个request返回的response中得到n多个目标url,第二步再爬取这n个url,也许还有第三、四步,可见散花式爬虫的工作量是扣链式的n倍,常见案例如在电商平台搜索关键词返回商品,再爬取所有商品的评论内容。
“翻页”式爬虫 特别说明
“翻页”式爬虫 在一定条件下即可做成单线式爬虫,也可做成扣链式爬虫。若翻页的url是有规律的,如url上某参数会带上页数,当页数为3即请求第3页,加上能预知总页数,就罗列出所有页的url,这样就可做为单线式;若翻页的ulr是无规律、或加密过的,那只能一页接着一页往下爬,那只能做扣链式。
2.完整爬虫工作环节
(1)单链式爬虫流程图
(2)扣链式爬虫流程图
(3)散花式爬虫流程图
从上3图可知,扣链式爬虫流程是单线式的重复n次,散花式爬虫流程是扣链式的重复n次。下面就以单线式爬虫为例,介绍其各个环节。
target pool :爬取目标合集,如一万某电商平台商品的ulr。
request:向目标server请求url,爬虫最核心的环节;为什么说是最核心,因为该环节要穿越“反爬”难关并从目标server带回想要的信息,至于“反爬”内容可参考上篇《挡住爬虫去路的3座大山》;按请求方法可分为直接请求、模拟浏览器两种模式。
response:即request返回的结果,一般是网页源代码,也注意其编码格式,如utf8。
verify:即检验response是否正确,这环节十分重要,但常被忽略掉,或有伙伴喜欢爬完target pool后再对所有response作检验,这样也是不高效的。verify必不可缺,最好安排在request完一个target url后接着就对该response作检验。verify方法一般有response状态码,response内容两种;根据response状态码判断response是否正确是常用的方法,但也有缺陷,就有些狡滑地网站不但封禁你的爬虫request,还让response状态码为200(200表示成功返回);所以单靠response状态码还不够,必须再根据response内容进行判断。如果response内容为空、或有明显的被反爬、被封禁信息,如收到警告信息、或要输入验证码等,这都说明爬取失败。若爬取失败需把target url放回target pool ,重新再爬。
parse:即对reponse进行解析,通俗点就是从reponse提取想到的数据。实现parse的工具有许多,可参考上篇文章《python常用爬虫框架与工具》。parse环节还有另一重要功能,若提取不到想要的数据,但又十分肯定是有数据的,那说明response返回的信息不全面,需把target url放回target pool重爬。
storage:存储结果数据,除了保存被解析出来的目标数据,更重要的是保存好response内容(最好存档为html格式);为什么要保存response内容,因为网页内容是实时变动的,需要把当时response保存下来作为“凭证”,若有谁质疑你的目标数据,只要把html格式的response展示给他看就无话可说了。我刚开始搞爬虫没有保存response的习惯,就吃过这种网页内容发生改变而货不对版的哑巴亏,教训,教训。
致此,谢谢浏览本篇文章的读者,若有补充或建议,请留言,不胜感激。
数据分析 - 跨境电商爬虫成长记 之 第三篇:完整的爬虫工作环节有哪些相关推荐
- 数据分析 - 跨境电商爬虫成长记 之 第一篇:python常用爬虫框架与工具
爬虫干货文章 打造一个健壮高效的网络爬虫-崔庆才 python爬虫系列版 Python高级-从趟过的坑中聊聊爬虫.反爬.反反爬 爬虫常用框架 scrapy框架:目前较成熟与常用的爬虫框架 Crawle ...
- 跨境电商erp系统排行榜,跨境电商软件erp排名,跨境电商erp哪个好一点?
想要告别跨境电商erp软件选择困难症,挑选到自己心仪的跨境电商erp系统,大家看这篇文章就够了! 跨境电商erp软件 跨境电商erp的英文全称是Enterprise Resource Planning ...
- 零经验出海报单,看跨境电商小白如何在Starday突出重围
随着大数据.云计算等一系列新颖先进的技术概念引入,全球经济市场呈现出以往难以想象的活跃,世界各地的贸易订单都可以借助互联网渠道在数秒内完成全流程."跨境电商"这一概念正是全球互联网 ...
- 跨境电商支付方式和如何玩转跨境支付
跨境电商支付方式推荐 跨境电商的关键问题是支付,我们确实很难身在家乡国家,用家乡国家文化去感知异国文化,商业亦是如此,我们必须摒弃主观,用客观的思想,亲自去沟通,去理解.电商里很重要的关键问题是支付问 ...
- 跨境电商支付方式之如何玩转跨境支付
跨境电商的关键问题是支付,我们确实很难身在家乡国家,用家乡国家文化去感知异国文化,商业亦是如此,我们必须摒弃主观,用客观的思想,亲自去沟通,去理解.电商里很重要的关键问题是支付问题,正确的合适的支付方 ...
- 跨境电商必看:亚马逊数据采集规则推荐
跨境电商最近非常火爆,虽然目前做跨境电商在通关及仓储物流环节还存在着难点,但是随着各地政府相继推出各种促进跨境电商交易的扶持政策,跨境电商的大环境日趋明朗,逐渐呈现火爆的状况. 对于做跨境电商的企业和 ...
- 防封号低风险,跨境电商必须了解的WhatsApp Business API指南
关键词:跨境电商,WhatsApp Business API 作为全球领先的即时通讯应用程序,目前,越来越多的企业尤其是跨境电商选择利用WhatsApp进行商业通信与活动.除了我们比较熟悉的Whats ...
- 中国智造助推跨境电商企业迈向全球市场
现今,跨境电商行业发展的如火如荼,中国智造也在不断助推跨境电商企业迈向全球市场.业内人员在新常态下的思想也有了一些改变,现在的跨境电商都是"平台+物流",在物流环节,也需要我们的专 ...
- 跨境电商ERP中的自动化 2.平台商品和本地单品自动绑定
今天继续讲解跨境电商ERP中的自动化,这篇主要讲解平台商品和本地单品如何绑定,从而实现对本地单品库存的管理. 博客搬家啦,新地址: https://www.navisoft.com.cn 平台商品有个 ...
最新文章
- 最新阿里Java技术面试题,看这一文就够了!
- 正则表达式实现最小匹配
- 利用Log Explorer将你已经delete,truncate,drop过的数据进行恢复
- django orm 常用查询筛选
- VTK:几何对象之Plane
- FJUT3703 这还是一道数论题(二分 + hash + manacher 或者 STL + hash 或者 后缀数组 + hash)题解...
- dede 文章列表页如何倒序排列
- express学习 - (1)环境配置与第一个express项目
- Rust : 如何将C字符串转换为Rust字符串并通过FFI返回?
- 高清优质PPT模板20篇下载(金融投资系列)
- settings.xml
- 数据结构——图的应用
- MPAndroidChart的BarChart用法
- 由偷菜/抢车位引发的思考
- SEO技巧:快速学会SEO技术的方法
- 微信小程序之页面样式以及背景图片显示问题
- 小学生C++趣味编程 上机作业 每日一练 第1单元 顺序结构
- 性价比天花板:如何在预算有限的情况下吃得美味又健康
- Windows系统Git安装教程,超详细的安装过程!附软件资料~
- Ubuntu下系统CPU/内存/GPU/硬盘监控查看指令