面向跨境电商的网络抓取技术研究
2018-10-17南博成向杰益沈晓红李邱溢潘君妮张斌
南博成 向杰益 沈晓红 李邱溢 潘君妮 张斌
摘 要: 网络爬虫已成为提高跨境电商数据化运营效率的一项热门技术。本文通过叙述商业爬虫软件采集商品页面信息的基本方法,论述了爬虫程序提取商品价格与评价信息的常用算法,分析了抓取Ajax生成的Json信息、实现动态翻页和应对网站的反对爬虫的技术和方法。实践证明,由于电商平台反爬虫策略会动态调整,如何利用人工智能技术更好地模仿人类行为来实现有效的信息采集是跨境电商爬虫技术提升的要点。
关键词: 跨境电商; 爬虫; Ajax; Json; 反爬虫
中图分类号:TP391.1 文献标志码:A 文章编号:1006-8228(2018)08-13-03
Research on web crawling technology for cross border e-commerce
Nan Bocheng, Xiang Jieyi, Shen Xiaohong, Li Qiuyi, Pan Junni, Zhang Bin
(Zhejiang Yuexiu University of Foreign Language, Shaoxing, Zhejiang 312000, China)
Abstract: Web crawler is a popular technology to promote the efficient operations of cross border e-commerce in big data era. This paper analyzes the normal method of crawling data with commercial crawler software, discusses the usual algorithms of extracting goods evaluations and prices with web crawler program, and describes the method of extracting information of Json file created by Ajax, the method of turning page and the method of reducing the chance that would be detected by anti-crawler techniques and methods of web sites. The practice has proved that the effective way of extracting information for cross border e-commerce is to change the web crawler's access method, and let it imitates human behavior by using AI technology.
Key words: cross border e-commerce; web crawler; Ajax; Json; anti-crawler
0 引言
近年来,跨境电子商务业务量以每年近30%的速度快速增长,得到众多企业的关注。跨境电商平台拥有海量的交易数据,跨境电商企业可以利用这些数据进行管理决策、实时监测营销活动、优化供应链、开展精准营销、提供个性化服务。因此,跨境电商的竞争已经逐步变成了数据拥有的竞争,82%的企业正在面临着大数据的挑战,89%的公司因为数据处理的不够而失去了销售机会[1]。
因此,让从业人员掌握采集跨境电商平台数据的方法,获得海量竞争对手和产品的相关信息,避免以往只能靠经验去做商业决断是有必要的。举例来说,因为让顾客感知价值是驱动顾客产生购买行为的重要因素[2]。于是对跨境电商平台的评价数据进行分析,从而有效感知客户对产品质量、网站服务质量、风险等因素的认知,会是一个提高经营效益有效手段。由于数据采集是实现数据分析的前提,企业要想用大数据的方式进行跨境贸易管理,就有必要学习并掌握商品信息采集的方法[3]。本文通过叙述商业爬虫软件采集商品页面信息的基本流程,论述了爬虫程序提取商品价格与评价信息的算法,具体分析了抓取Ajax生成的Json文件中信息,实现了动态翻页和应对网站的反爬虫技术细节,希望能抛砖引玉。
1 商业爬虫软件及其信息采集方法
对于没有编程能力的跨境电商从业人员可以使用商业爬虫软件来采集商品信息。例如用”八爪鱼”软件可以方便地提取亚马逊网站中的商品名称、价格和评价。其具体步骤如下:
⑴ 用关键词查询或点击分类来打开亚马逊的一个商品列表页面,拷贝其网址;
⑵ 启动“八爪鱼”软件,点击“自定义采集”后,将网址粘贴到采集目标页;
⑶ 目标页被打开后,点击页面底端的“下一页”链接,系统会弹出菜单,选择“循环点击下一页”;
⑷ 点击第一个商品的名称,在弹出的菜单中选择“全部”,实现自动分页并采集列表中的所有商品;
⑸ 在弹出的菜单中点击“采集对象文本”,然后点击保存并采集,就可以采集并導出数据了;
⑹ 将导出的数据上传到“微图”生成可视化图表进行分析;
⑺ 将评价等数据导入分析工具 Rost,获取评价的情感数据。
说明:如果要进入每个商品详情页,则需在第⑸步选择“循环点击每个元素”,然后可以在出现的详情页中点击评价,选择“点击对象”,再在评价的底部点击“查看全部评论”,选择“点击该元素”后,用同样的方法翻页提取评价详情页中的每一条评价。
虽然商用软件功能较为完整,可以通过所见即所得技术来设置参数,实现信息的快速抓取。但是要通过鼠标点击来准确表达复杂的需求则较为困难。此外采集软件功能有限,不能在采集前对数据做个性化筛选,需要更多的人工参与和管理,采集效率和灵活性明显不足等问题也给运营企业带来困扰。为此,自行编写主题爬虫[4]程序或许是提升采集效能、满足企业个性化需求的有效方法。
2 爬虫程序提取信息的基本算法
4.2 发现爬虫后,网站一般采用的反爬虫方法
发现爬虫后,网站一般采用的反爬虫方法有以下:
⑴ 大量采用JavaScript加载网页元素。因为爬虫一般不会提取所有网页的嵌入对象,特别是JS文件,如果有个别JS链接被经常访问,而其他JS链接访问量很少,就可以断定是爬虫;
⑵ 在服务器中开启带宽限制模块,限制单个IP地址的访问量,设置访问频次限制;
⑶ 设置某目录最多只能连接一个IP;
⑷ 分析日志,找出并发量大的匿名访问IP,和对拥有很多HEAD请求的某个IP进行屏蔽。
4.3 爬虫必需知道是否被反爬,方法是查看请求代码,如403表示Forbidden,然后采取措施
为此,爬虫必需知道是否被反爬,方法是查看请求代码,如403表示Forbidden,然后采取措施:
⑴ 动态IP切换技术,例如模拟路由器登录,这样就可不断换IP地址了;
⑵ 采用多主机策略,让多台电脑轮番爬取页面,例如使用代理服务器;
⑶ 爬的慢一点,如果被阻止,则立即降低访问频次;
⑷ 降低访问频次、频繁改变User-Agent;
⑸ 组合规则进行批量爬取,不要对单一页面长期爬取;
⑹ 按照Robots.txt定义的行为去抓取;
⑺ 伪装用户代理;
⑻ 检测网站的多个CDN,从镜像服务器中提取信息。
相对来说,面对跨境电子商务平台,需要应用人工智能技术,让爬虫更真实地模仿人类浏览网页的形态,以防止被发现。
5 程序运行效果
爬虫运行后输出的excel文件截图,见图1。
图1 评价信息输出
6 结束语
本文通过分析一个简单的网络爬虫,实现了用商品列表页面为种子页面,用循环翻页抓取商品详情页的方法提取其中的评价,执行效率较高。虽然该功能也可以用商业软件来实现,编写程序的方式更为灵活和高效和实用。
事实表明,跨境电商网站会不断调整反爬策略,还会使用大数據方法分析日志,需要尝试更多智能的应对方法。虽然本文没有讨论如何让爬虫学会像人一样慢慢悠悠地随机访问网页的方法,但也给出应对反爬虫的基本策略。该文中的爬虫代码基本可行。希望能与大家探讨,进一步提升跨境电商数据抓取技术。
参考文献(References):
[1] 戴明华,马择陆,范晓男.大数据背景下跨境电商发展模式研
究[J].电子商务,2017.5:10-11,55
[2] 李凌慧,曹淑艳.B2C跨境电子商务消费者购买决策影响因
素研究[J].国际商务(对外经济贸易大学学报),2017.1:151-160
[3] 邹科文,李达,邓婷敏,李嘉振,陈义明.网络爬虫针对“反爬”
网站的爬取策略研究[J].电脑知识与技术,2016.12(7):61-63
[4] 于娟,刘强.主题网络爬虫研究综述[J].计算机工程与科学,
2015.37(2):231-237
[5] 范传辉.Python爬虫开发与项目实战[M].机械工业出版社,
2017.