AMZ123跨境卖家导航
拖动LOGO到书签栏,立即收藏AMZ123
首页跨境头条文章详情

亚马逊运营必备爬虫知识:使用「Selenium」+「Chromedriver」爬僵尸链接

39504
2018-12-10 19:34
2018-12-10 19:34
39504


      往期有读者朋友提问能否爬「僵尸链接」,肯定是可以的。只有你看不到,没有爬虫爬不了的。


使用本文今天将讲到的「Selenium」+「Chromedriver」就可以轻松完成。本文还是会从环境搭建、查找僵尸链接原理到代码编写一步步来实现这个需求。


Selenium原本是一套完整的web应用程序测试系统,现也用作爬虫。用户可以使用它驱动浏览器,使浏览器按照已编写完成的代码完成相应动作。


Selenium支持驱动Chrome、Firefox、IE等一系列浏览器,在这里我还是选用大家熟悉的Chrome浏览器。



环境搭建步骤:



一、安装Selenium


在上一期已搭建Python环境的前提下打开CMD窗口,输入: pip install selenium」会自动安装selenium,如无报错,且提示安装成功,则成功安装selenium


可以通过以下方式验证是否安装成功并且能正常使用:

CMD窗口中输入python,再输入from selenium import webdriver,敲击回车。如果没有报错,则selenium成功安装且能正常使用。



二、下载Chromedriver


首先从https://www.google.cn/chrome/下载最新版Chrome浏览器,再从http://chromedriver.storage.googleapis.com/index.htm 下载最新版的Chromedriver。


若你已经安装了Chrome浏览器,可根据已安装的Chrome浏览器版本下载对应的Chromedriver版本。附Chrome与Chromedriver的对应关系表:

Chrome浏览器和Chromedriver都下载完成后,将Chrome浏览器安装好,将Chromedriver解压放在自己喜欢的地方待用。



查找原理:


在搜索引擎中使用「site」关键字,可以把搜索范围限定在特定站点中,如site:某某.com。“site:”后面跟的站点域名,不要带“http://”;site:后面带不带www结果可能是不一样的,因为有些域名还包括二级域名,如:site:www.某某.com和site:某某.com,搜索结果就不一样;另外,site:和站点名之间,不要带空格。


我们可以用「site:amazon.com」,只查找在亚马逊网站内的信息。

而一个僵尸链接必有下图特征:


那我们需要构建一个完整的搜索关键字使用Google就可以帮我们找出亚马逊中的僵尸链接。如我需要找「Nike」的僵尸链接,则使用「site:amazon.com Nike Currently unavailable.」使用Google搜索即可。


但其中某些搜索结果,并不是我们想要的僵尸链接。这就需要我们的爬虫去遍历每个搜索结果,并返回正确的僵尸链接。



代码编写:


打开Pycharm,新建项目:

从selenium导入webdriver:

from selenium import webdriver


准备好搜索链接:

url = 'https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.'


        

driver = webdriver.Chrome('C:Program Files (x86)GoogleChromeApplicationchromedriver.exe')
# 在webdriver.Chrome(中填入之前下载好的Chromedrive的路径)
driver.get(url)


        


将自动打开Chrome浏览器并访问:https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.


若浏览器出现「Chrome 正受到自动测试软件的控制。」则表示我们已成功使用selenium驱动Chrome并按照预设访问了Google。


分析Google搜索结果页面,在搜索结果页面按F12。通过分析网页源码,可以看出每个搜索结果都包含在一个class为rc的<div>标签内:


我们可以使用「XPath」来查看是否通过查找所有的class为rc的<div>标签即可找到所有搜索结果。首先下载Chrome插件「XPath Helper」:


在搜索结果页面打开「XPath Helper」,输入「//div[@class='rc']」,显示「RESULTS (20)」及表示有20个class为rc的<div>标签,这与页面中的20个搜索结果相符,这表示可以使用该XPath找出页面中共有多少个搜索结果。



再按照下图分别点击1、2定位某条搜索结果的标题:


在第三步上点击鼠标右键→「Copy」→「Copy XPath」


这里要科普一下,「XPath」是XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。使用XPath我们可以准确定位页面中某个元素的位置。


多拷贝几个搜索结果的XPath,可以找出其中的规律:

可见只需将XPath略微修改即可准确定位每个搜索结果的标题,那我们就可以继续敲代码了。


首先查找所有的class为rc的<div>标签,并计算其长度。

all_rc = driver.find_elements_by_xpath("//div[@class='rc']") # 查找所有的class为rc的<div>标签
len_all_rc =
len(all_rc) # len()可计算其长度



根据所有的class为rc的<div>标签的长度,生成新的XPath并定位、点击,即跳转至亚马逊商品页面。

# for X in range () 是前开后闭,所以需要len_all_rc + 1 才能循环len_all_rc次。
for i in range(1, len_all_rc + 1):
    # 拼接新的XPath
xpath = "//*[@id='rso']/div/div/div["+str(i)+"]/div/div/h3/a"
# 根据XPath定位搜索结果的标题,并点击
   
driver.find_element_by_xpath(xpath).click()


                   

返回亚马逊商品页面源码。

pageSource = driver.page_source



如果“Currently unavailable.”在页面源码中,即可确定是为僵尸链接。则在控制台打印该商品链接。

if 'Currently unavailable.' in pageSource:
   
print(driver.current_url)


                  

完成一次循环后,需要退回到Google搜索界面,下次一循环才能正确进行。

driver.back()



完成一页搜索结果筛选后,需要点击搜索结果页面的下一页继续筛选,直到无新的搜索结果为止。

# 定位下一页的按钮
next_button = driver.find_element_by_xpath('//*[@id="pnnext"]/span[2]')
# 如果下一页按钮存在
if next_button:
     # 这定位下一页按钮并点击
    driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]').click()
# 否则退出循环、结束程序。
else:
   
break




以上便是使用「Selenium」+「Chromedriver」从环境搭建、查找链接原理到代码编写来实现爬取僵尸链接的全部过程。其完整代码为:

from selenium import webdriver

url =
'https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.'
driver = webdriver.Chrome('C:Program Files (x86)GoogleChromeApplicationchromedriver.exe')
driver.maximize_window()
driver.get(url)
while True:
    all_rc = driver.find_elements_by_xpath(
"//div[@class='rc']")
    len_all_rc =
len(all_rc)
   
for i in range(1, len_all_rc + 1):
        xpath =
"//*[@id='rso']/div/div/div["+str(i)+"]/div/div/h3/a"
       
driver.find_element_by_xpath(xpath).click()
        pageSource = driver.page_source
       
if 'Currently unavailable.' in pageSource:
           
print(driver.current_url)
        driver.back()
    next_button = driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]')
   
if next_button:
        driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]').click()
   
else:
       
break



我的这篇文章只是简单的介绍了selenium + webdriver的使用,当然你也可以结合「Requests」+「bs4」爬取每个僵尸链接对应商品的Asin、标题、品牌、star、review等,并保存到文件中方便筛选你中意的僵尸。


 如图:


End


【物流福利】



不过瘾?重磅加推亚马逊全球开店峰会整点惊喜!

一周爆闻 | 正式征收20%广告增值税;Review政策更新;

你有一份撩人的A2Z申诉技巧未领取!

旺季期间,你应该算清楚亚马逊运营中的每笔帐!




免责声明
本文链接:
本文经作者许可发布在AMZ123跨境头条,如有疑问,请联系客服。
最新热门报告作者标签
东莞又一外贸大厂宣布停工!
AMZ123获悉,近日据媒体报道,东莞清溪镇知名玩具制造工厂——长荣玩具(东莞)有限公司宣布自2025年12月23日起实施阶段性停工停产。据了解,长荣玩具厂成立于1998年,主营玩具研发与制造,产品涵盖遥控玩具车等多个品类,鼎盛时期工厂员工规模曾达上万人,带动了当地及周边区域的发展。停工原因在长荣玩具厂发布的《停工通知》中已有说明。通知指出:“受市场需求变化,玩具行业需求萎缩以及国际宏观经济环境影响,公司近期面临严重经营困难,年度收入同比下降超于40%,资金紧绌。经过全面评估,公司决定依据相关规定,实施为期两个月的暂时性停工放假。”通知同时表示,公司将尽力解决经营问题,若情况好转将及时复工。
乐天市场VS雅虎购物:卖家入驻门槛与盈利模式对比
AMZ123获悉,在日本电商市场中,乐天市场、亚马逊以及雅虎购物构成了核心竞争格局。其中,同为“购物中心型”平台的乐天市场与雅虎购物,在出店成本、手续费结构、用户消费行为以及促销机制等方面存在显著差异。电商平台选择影响卖家初期投入、获客方式及中长期增长路径的重要决策因素,本文将详细分析卖家运营乐天市场与雅虎购物时差别。与以商品为核心的“商品目录型”平台不同,乐天市场与雅虎购物均采用“入驻型”模式,卖家以独立店铺形式入驻平台,拥有较高的页面设计与品牌表达自由度。消费者不仅购买商品,也更容易形成“在特定店铺消费”的认知,这一结构有利于卖家沉淀复购用户并打造长期品牌价值。
沙特电商市场快速扩张,2033年将达7087亿美元
AMZ123获悉,近日,沙特阿拉伯电商市场正经历快速扩张,已成为中东地区增长最快的数字经济体之一。数据显示,2024年沙特电商市场规模达到2229亿美元,在数字基础设施持续完善、政府“2030愿景”政策推动,以及移动端购物和数字支付快速普及的共同作用下,电商对零售、物流和支付等多个行业的影响不断加深。随着消费者对便利性、商品多样性和价格竞争力的需求提升,越来越多的购物行为从传统线下渠道转向线上。电商平台、综合型市场以及本地和跨境配送服务正在重塑消费者的购物体验,推动沙特市场结构发生持续性变化。沙特政府推动数字经济和无现金社会的政策环境,也为电商企业创造了更具稳定性的增长基础。
俄罗斯多品类线上销售占比突破70%,电商成主要消费渠道
AMZ123获悉,近日,在俄罗斯消费市场加速向线上迁移的背景下,多项最新研究和行业数据共同指向一个明确趋势:线上渠道在多个核心消费品类中的占比持续提升,市场结构、消费者行为以及零售渠道格局正在发生系统性变化。在近日举行的线上会议“俄罗斯消费市场:2026年的关键挑战”上,INFOLine披露的数据显示,化妆品、香水和家用电器等品类的线上销售占比已超过70%。未来中期内,服装和鞋类、儿童用品以及体育用品等多个品类也有望突破80%的线上渗透率门槛。
TikTok助力超20万英国中小企业实现营收
AMZ123获悉,近日,据外媒报道,英国小型企业正在通过 TikTok Shop 获得前所未有的增长机遇。最新数据显示,已有超过20万家英国小型企业通过 TikTok Shop 实现营收,这一数量较去年同期翻了一番。增长在2025年黑色星期五期间集中爆发,当天成为 TikTok Shop 在英国历史上销售额最高的一天,平台上的创业者平均每秒售出27件商品。目前,TikTok Shop 在英国每天举办超过6000场直播带货活动,为卖家创造持续的实时销售机会。
黑五大捷收官!法国乐天冬季大促选品机会全盘点
冬季大促在即,把握选品方向,提前布局,助力年终业绩稳步增长!
涉及四站点卖家,Shopee征收5%技术支持费;TikTok Shop英国站打破历史纪录;罚款、销毁,越南一卖家被查
01 涉及四站点卖家Shopee征收5%技术支持费据 Shopee 消息,为了持续提供优质的服务与资源,更好地支持多元化卖家群体,Shopee 将对部分费用进行调整,以保障生态的健康发展。具体如下:预计从 2026 年 2 月起,Shopee 在新加坡、马来西亚、泰国、越南站点新增技术支持费(具体生效时间平台将另行通知)Shopee技术支持费,是针对所有卖家收取的标准平台费用;当您的订单完成,系统将自动从您的销售额中扣除固定比例。同时,考虑卖家的实际经营情况,Shopee在初期会根据卖家增长潜力和营销需求,为符合条件的卖家赠送不超过已完成订单销售额 5% 的广告金,以协助扶持卖家更好地运营推广、提升店铺整体流量。
不是你操作错了,亚马逊今天确实出了两个 BUG
今日分享「不用拆变体,如何实现自然流量翻倍?」
突发!亚马逊后台系统又崩溃
AMZ123获悉,自12月23日下午起,陆续有多位卖家发帖反馈亚马逊后台系统再次出现异常。此次故障主要表现为卖家在创建货件时,页面反复提示“出错了。请尝试刷新页面。如果不起作用,请删除工作流程,然后创建一个新工作流程。”然而,即便卖家多次按照提示尝试刷新或重新操作,问题依然未得到解决,导致无法正常创建货件。“我也是这样,从昨天下午到今天都创建不了。”“我就说怎么一直建不了 我还以为是我远程的问题。”“我试了一下午,还以为怎么了。”据了解,此次系统故障波及范围较广,影响包括欧洲站、美国站在内的多个站点。尽管部分卖家提出了一些临时应对方法,例如可以手动填写发货数量,或者重复开货件与更换vpn等方式。
中国跨境卖家抢占新主场,出海游戏规则变了
十年前,流量红利、政策温床、廉价供应链等时势造就了跨境行业的的几何式爆发。然而时代巨轮滚滚向前,无声碾过野蛮生长和走量厮杀的旧秩序,在全球经贸局势波诡云谲的2025年,跨境出海从市场环境到竞争路径再至行业格局,无一不在加速重构。在这个游戏规则悄然转变的时代,跨境卖家开始积极寻找一个能够在撬动确定性增长的同时,承载价值深耕、品牌与用户深度链接的阵地。而面对这一风向,TikTok Shop早已为卖家搭好了舞台。2025年,TikTok Shop跨境自运营(POP)模式展现出强劲势能,黑五大促对比年中翻倍增长,跑出无数靠好商品、好内容、好营销、好服务实现生意增长与品牌建设双开花的出海商家。
亚马逊新功能上线,卖家转化率有救了!
关注公众号回复“加群”加入卖家交流群在数字购物时代,消费者的购买路径日益复杂,往往需要多次比较才会下单。为帮助卖家精准把握消费者决策的关键时刻,亚马逊广告近期对亚马逊品牌推广和亚马逊商品推广进行了全面升级,推出多项亚马逊广告新功能。首先亮相的是“品牌推广预留展示份额”,采用预付定价模式,让广告稳定出现在品牌词搜索结果首页顶部。这一创新的亚马逊广告投放方式,测试数据显示品牌关键词展示份额从63%大幅提升至99%,点击归因销售额增长143%。2026年初,亚马逊品牌推广合集将迎来全新升级,取消场景图和自定义标题要求,聚焦产品本身展示。
明年1月起,亚马逊将延长FBM退款处理期
AMZ123获悉,近日,亚马逊宣布,将于2026年1月26日更新自配送卖家(Fulfilled by Merchant,FBM)的退款政策,主要调整卖家处理退货退款的时间规则。亚马逊表示,此次调整旨在优化卖家的退货管理体验,并给予卖家更多时间对退回商品进行检查。按照新政策,自配送订单的退款处理期限将从原先的“收到退货后2个工作日”,延长为“4个自然日”。在大多数退货送达日期下,卖家可获得更长的处理时间,用于确认商品状态并决定是否退款。不过,如果卖家在收到退货后的4个自然日内仍未完成退款处理,亚马逊将可能自动向买家发起退款。
亚马逊季度税务报告正式推送:卖家数据为何“对不上账”?
这两天,不少亚马逊卖家几乎在同一时间,收到了来自平台的一封“重量级”邮件。图源:卖家爆料邮件内容并不复杂:根据中国最新监管要求,亚马逊需要按季度向中国税务机关报送中国卖家的相关经营数据,并且会将同一份季度税务报告同步给卖家本人查看。首份报告已覆盖 2025年7月至9月,下载链接仅保留7天。表面来看,这是一件“信息更透明”的好事。但真正打开报告后,卖家圈却迅速炸锅——图源:知无不言大量卖家发现:报告里的收入、利润、成本,和自己平时核算的账,差得不止一点点。一、亚马逊季度税务报告,到底报了哪些内容?先明确一个事实:这份报告并不是“卖家利润表”,而是平台按监管要求生成的一份信息披露报告。
不是你操作错了,亚马逊今天确实出了两个 BUG
今日分享「不用拆变体,如何实现自然流量翻倍?」
亚马逊关联ASIN常出现在哪些流量位置?
在亚马逊平台上,ASIN是商品的唯一标识,而关联ASIN的合理布局,直接影响着产品的曝光与转化。对于刚入行的新手卖家而言,不了解ASIN在平台中的流量分布规律,往往会导致推广资源错配、流量抓取不足,甚至错失爆款打造机会。许多新人卖家在运营初期常陷入“有产品却无人访问”“广告花费高但转化差”的困境,其背后一个重要原因就是对关联ASIN的流量入口和展示机制缺乏认知。掌握ASIN常见的流量位置,是提升曝光、优化广告投放、实现自然流量增长的关键一步。
TikTok又现义乌爆款!“香烟盒泡泡”28天营收百万
溢价超30倍,这款“解压神器”在TikTok已卖180万+
《2025年东南亚膳食营养补充剂电商深度洞察》PDF下载
根据中国医药保健品进出口商会和海关数据,2025年上半年我国膳食补充剂出口额22.51亿美元,同比增长9.9%,呈持续增长状态。中药酒2025年上半年同比增长74.1%,显示负载中国传统医学文化产品的出口潜力。
《TikTok Shop 2025年全站点Q3季报》PDF下载
2025年前三季度,TikTok Shop在全球市场继续保持强劲增长势头。截至第三季度结束,累计GMV已突破414亿美元。美国站依旧稳居全球第一,前三季度GMV达112亿美元:东南亚仍是总体增长最具韧性的板块,印尼站以83.4亿美元位列第二,增速较上季度保持稳定,与泰国(69亿美元)、越南(52亿美元)继续构成区域主力。马来西亚(40亿美元)与菲律宾(37亿美元)表现同样稳健。
《2026掘金指南:全球全品类20大消费趋势报告》PDF下载
生活百货类关键趋势解读 消费电子类关键趋势解读 消费品类关键趋势解读 时尚品类关键趋势解读
《亚马逊生活日用品类攻略手册》PDF下载
作为日常生活不可或缺的重要组成,生活百货品类覆盖范围广泛,包括家居用品、家具、车用配件、户外装备、园艺 工具、运动器材、家装用品、厨房、玩具以及宠物用品等众多领域。这类产品不仅是满足基本生活所需,更体现了人们对美好生活的向往和追求。
《掘金泰国-市场洞察与战略机遇报告2025》PDF下载
随着全球经济一体化的加速,泰国作为东盟的核心枢纽,凭借其独特的地缘优势庞大的消费市场以及持续优化的营商环境,成为众多企业战略布局的重要目标。本报告深入剖析泰国市场的政策红利、消费趋势、产业机遇以及合规挑战,旨在为有志于开拓泰国市场的中国企业提供行动指南,助力企业在东盟这片充满活力的土地上把握机遇、应对挑战、!实现可持续发展。
《2025欧美假日购物季营销指南》PDF下载
2025年美国假日购物季零售额预计同比仅增长1.2%,总销售额约1.359万亿美元,虽仍保持正增长,但为2009年以来最低增速,市场正在步入低增长的新常态。
《2025年跨境电商东南亚市场进入战略白皮书》PDF下载
东南亚电商,正以惊人的速度复刻中国电商高速增长的黄金时代。2024年东南亚电商GMV达到1284亿美元,短短5年涨幅超过3倍。全球电商2024年GMV增幅最快的十大市场中,东南亚独占四席。东南亚是拥有约6.7亿人口的广阔市场,在现今全球关税的不确定性大格局下,因其电商基建完善,利好的贸易政策,和更高的年轻人口占比,成为跨境卖家生意拓张焦点之一。
《2025年TikTok Shop玩具品类行业报告(欧美站)》PDF下载
分析TikTok Shop美国市场、英国市场、西班牙市场、墨西哥市场等主流市场点短视频及直播电商数据,选取TikTok与玩具爱好品类相关的内容进行分析报告。
亚马逊全球开店
亚马逊全球开店官方公众号,致力于为中国跨境卖家提供最新,最全亚马逊全球开店资讯,运营干货分享及开店支持。
北美电商资讯
AMZ123旗下北美跨境电商新闻栏目,专注北美跨境电商热点资讯,为广大卖家提供北美跨境电商最新动态、最热新闻。
AMZ123会员
「AMZ123会员」为出海者推出的一站式私享服务
AMZ123卖家导航
这个人很懒,还没有自我介绍
跨境数据中心
聚合海量跨境数据,输出跨境研究智慧。
AMZ123选品观察员
选品推荐及选品技巧分享。
亚马逊资讯
AMZ123旗下亚马逊资讯发布平台,专注亚马逊全球热点事件,为广大卖家提供亚马逊最新动态、最热新闻。
跨境科普达人
科普各种跨境小知识,科普那些你不知道的事...
首页
跨境头条
文章详情
亚马逊运营必备爬虫知识:使用「Selenium」+「Chromedriver」爬僵尸链接
黑五电商
2018-12-10 19:34
39504


      往期有读者朋友提问能否爬「僵尸链接」,肯定是可以的。只有你看不到,没有爬虫爬不了的。


使用本文今天将讲到的「Selenium」+「Chromedriver」就可以轻松完成。本文还是会从环境搭建、查找僵尸链接原理到代码编写一步步来实现这个需求。


Selenium原本是一套完整的web应用程序测试系统,现也用作爬虫。用户可以使用它驱动浏览器,使浏览器按照已编写完成的代码完成相应动作。


Selenium支持驱动Chrome、Firefox、IE等一系列浏览器,在这里我还是选用大家熟悉的Chrome浏览器。



环境搭建步骤:



一、安装Selenium


在上一期已搭建Python环境的前提下打开CMD窗口,输入: pip install selenium」会自动安装selenium,如无报错,且提示安装成功,则成功安装selenium


可以通过以下方式验证是否安装成功并且能正常使用:

CMD窗口中输入python,再输入from selenium import webdriver,敲击回车。如果没有报错,则selenium成功安装且能正常使用。



二、下载Chromedriver


首先从https://www.google.cn/chrome/下载最新版Chrome浏览器,再从http://chromedriver.storage.googleapis.com/index.htm 下载最新版的Chromedriver。


若你已经安装了Chrome浏览器,可根据已安装的Chrome浏览器版本下载对应的Chromedriver版本。附Chrome与Chromedriver的对应关系表:

Chrome浏览器和Chromedriver都下载完成后,将Chrome浏览器安装好,将Chromedriver解压放在自己喜欢的地方待用。



查找原理:


在搜索引擎中使用「site」关键字,可以把搜索范围限定在特定站点中,如site:某某.com。“site:”后面跟的站点域名,不要带“http://”;site:后面带不带www结果可能是不一样的,因为有些域名还包括二级域名,如:site:www.某某.com和site:某某.com,搜索结果就不一样;另外,site:和站点名之间,不要带空格。


我们可以用「site:amazon.com」,只查找在亚马逊网站内的信息。

而一个僵尸链接必有下图特征:


那我们需要构建一个完整的搜索关键字使用Google就可以帮我们找出亚马逊中的僵尸链接。如我需要找「Nike」的僵尸链接,则使用「site:amazon.com Nike Currently unavailable.」使用Google搜索即可。


但其中某些搜索结果,并不是我们想要的僵尸链接。这就需要我们的爬虫去遍历每个搜索结果,并返回正确的僵尸链接。



代码编写:


打开Pycharm,新建项目:

从selenium导入webdriver:

from selenium import webdriver


准备好搜索链接:

url = 'https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.'


        

driver = webdriver.Chrome('C:Program Files (x86)GoogleChromeApplicationchromedriver.exe')
# 在webdriver.Chrome(中填入之前下载好的Chromedrive的路径)
driver.get(url)


        


将自动打开Chrome浏览器并访问:https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.


若浏览器出现「Chrome 正受到自动测试软件的控制。」则表示我们已成功使用selenium驱动Chrome并按照预设访问了Google。


分析Google搜索结果页面,在搜索结果页面按F12。通过分析网页源码,可以看出每个搜索结果都包含在一个class为rc的<div>标签内:


我们可以使用「XPath」来查看是否通过查找所有的class为rc的<div>标签即可找到所有搜索结果。首先下载Chrome插件「XPath Helper」:


在搜索结果页面打开「XPath Helper」,输入「//div[@class='rc']」,显示「RESULTS (20)」及表示有20个class为rc的<div>标签,这与页面中的20个搜索结果相符,这表示可以使用该XPath找出页面中共有多少个搜索结果。



再按照下图分别点击1、2定位某条搜索结果的标题:


在第三步上点击鼠标右键→「Copy」→「Copy XPath」


这里要科普一下,「XPath」是XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。使用XPath我们可以准确定位页面中某个元素的位置。


多拷贝几个搜索结果的XPath,可以找出其中的规律:

可见只需将XPath略微修改即可准确定位每个搜索结果的标题,那我们就可以继续敲代码了。


首先查找所有的class为rc的<div>标签,并计算其长度。

all_rc = driver.find_elements_by_xpath("//div[@class='rc']") # 查找所有的class为rc的<div>标签
len_all_rc =
len(all_rc) # len()可计算其长度



根据所有的class为rc的<div>标签的长度,生成新的XPath并定位、点击,即跳转至亚马逊商品页面。

# for X in range () 是前开后闭,所以需要len_all_rc + 1 才能循环len_all_rc次。
for i in range(1, len_all_rc + 1):
    # 拼接新的XPath
xpath = "//*[@id='rso']/div/div/div["+str(i)+"]/div/div/h3/a"
# 根据XPath定位搜索结果的标题,并点击
   
driver.find_element_by_xpath(xpath).click()


                   

返回亚马逊商品页面源码。

pageSource = driver.page_source



如果“Currently unavailable.”在页面源码中,即可确定是为僵尸链接。则在控制台打印该商品链接。

if 'Currently unavailable.' in pageSource:
   
print(driver.current_url)


                  

完成一次循环后,需要退回到Google搜索界面,下次一循环才能正确进行。

driver.back()



完成一页搜索结果筛选后,需要点击搜索结果页面的下一页继续筛选,直到无新的搜索结果为止。

# 定位下一页的按钮
next_button = driver.find_element_by_xpath('//*[@id="pnnext"]/span[2]')
# 如果下一页按钮存在
if next_button:
     # 这定位下一页按钮并点击
    driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]').click()
# 否则退出循环、结束程序。
else:
   
break




以上便是使用「Selenium」+「Chromedriver」从环境搭建、查找链接原理到代码编写来实现爬取僵尸链接的全部过程。其完整代码为:

from selenium import webdriver

url =
'https://www.google.com/search?q=site%EF%BC%9Aamazon.com+Nike+Currently+unavailable.'
driver = webdriver.Chrome('C:Program Files (x86)GoogleChromeApplicationchromedriver.exe')
driver.maximize_window()
driver.get(url)
while True:
    all_rc = driver.find_elements_by_xpath(
"//div[@class='rc']")
    len_all_rc =
len(all_rc)
   
for i in range(1, len_all_rc + 1):
        xpath =
"//*[@id='rso']/div/div/div["+str(i)+"]/div/div/h3/a"
       
driver.find_element_by_xpath(xpath).click()
        pageSource = driver.page_source
       
if 'Currently unavailable.' in pageSource:
           
print(driver.current_url)
        driver.back()
    next_button = driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]')
   
if next_button:
        driver.find_element_by_xpath(
'//*[@id="pnnext"]/span[2]').click()
   
else:
       
break



我的这篇文章只是简单的介绍了selenium + webdriver的使用,当然你也可以结合「Requests」+「bs4」爬取每个僵尸链接对应商品的Asin、标题、品牌、star、review等,并保存到文件中方便筛选你中意的僵尸。


 如图:


End


【物流福利】



不过瘾?重磅加推亚马逊全球开店峰会整点惊喜!

一周爆闻 | 正式征收20%广告增值税;Review政策更新;

你有一份撩人的A2Z申诉技巧未领取!

旺季期间,你应该算清楚亚马逊运营中的每笔帐!




1
咨询
官方微信群
官方客服

扫码添加,立即咨询

加群
官方微信群
官方微信群

扫码添加,拉你进群

更多
订阅号服务号跨境资讯
二维码

为你推送和解读最前沿、最有料的跨境电商资讯

二维码

90% 亚马逊卖家都在关注的微信公众号

二维码

精选今日跨境电商头条资讯

回顶部