都怪我多嘴,看了@锦城随笔 的 手把手教你使用影刀RPA批量获取小红书低粉爆款的商品!全自动解放双手!

说自己用影刀重写一次,本来当晚就写好了,不过觉得发了没用,也不会加精,所以不发了

这么久,忽然收到留言,有人还惦记着

好吧,说到做到,运行效果看这里

这段代码原理来源于伟豪的关于选品的一篇文章,小红书单店铺单月6000+利润选品保姆级教程 这个方法论

脚本是严格按照这个方法去执行,步骤:

1、打开APP,进入购物列表

2、每个商品都点击进去,采已售数,已经点过就不会再点击

3、已售数大于100,进入店铺,采集粉丝数

4、粉丝数少于200,进入笔记列表,翻看前10页笔记的点赞数

5、统计点赞数大于100的笔记数量(记得,锦城没做这一步)当这个数大于1时表示,这就是我们要找的低粉爆款商品了

6、最后把爆款记录在数据表格当中,列表头分别是 商品名、已售数、店铺名、粉丝数、过百点赞笔记数、链接


一开始不觉得能找到,条件这么苛刻,不过代码跑了一晚上,一觉醒来就能得到满满的一张表:


过程中,遇到最大的坑在于回到列表页,发现元素不见了,原因官方给出说明,知道原因,技术上就好解决了

这是核心代码

glv_target_sale_num = 100
glv_target_fan_num = 200
glv_target_zan_num = 100

def main(args):

session = phone.getCurrentSession()

scanSale(session)


def scanSale(session):
phone.openApp(session,"com.xingin.xhs")

databook_path = pc.makeDir("K:\\workspace\\xhs",datetime.now().strftime("%Y-%m-%d-%H-%M"))

xpath = '//android.widget.TextView[@text="首页"]'
phone.backToAppHome(session,xpath)
phone.click(session,xpath)

pc.clearData()

while True :

xpath = '//android.widget.TextView[@text="购物"]'
phone.click(session,xpath)
list_sale_recode = []

for i in range(10):
xpath = '//android.widget.TextView[contains(@text,"已买")]/../preceding-sibling::android.widget.FrameLayout/android.widget.TextView'

for index in range(phone.count(session,xpath)):
xpath = '//android.widget.TextView[contains(@text,"已买")]/../preceding-sibling::android.widget.FrameLayout/android.widget.TextView'
sale = phone.find_one(session,xpath,index)
title = sale.get_attribute('text')

if not title in list_sale_recode:
list_sale_recode.append(title)

record = []
record.append(title)

sale.click()

readSaleNum(session,record)#读取已售

phone.back(session)

phone.swipeUp(session)

pc.exportData(databook_path)

def readSaleNum(session,record):

xpath = '//android.view.ViewGroup[@index="4"]/android.widget.ImageView'
if phone.exist(session,xpath):
phone.click(session,xpath)

phone.swipeUp(session)
xpath = '//android.widget.TextView[contains(@text,"已售")]'
sale_num_str = phone.getAttribute(session,xpath,"text")
sale_num = sale_number(sale_num_str)
if sale_num and sale_num > glv_target_sale_num :
record.append(sale_num)
xpath = '//android.widget.TextView[@text="店铺"]'
phone.click(session,xpath)

readFanNum(session,record) #进入主页

def readFanNum(session,record):

xpath = '//android.widget.TextView[contains(@text,"粉丝")]/preceding-sibling::android.widget.TextView'
fan_num_str = phone.getAttribute(session,xpath,"text")
fan_num = fan_number(fan_num_str)
if fan_num and fan_num < glv_target_fan_num :

xpath = '//android.widget.TextView[contains(@text,"小红书号")]/../../preceding-sibling::android.widget.TextView'
name_str = phone.getAttribute(session,xpath,"text")

xpath = '//android.widget.TextView[@text="笔记"]'
phone.click(session,xpath)
xpath = '//androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[@content-desc]'
zan_str_list = []
for i in range(10):
zan_list = phone.find_all(session,xpath)
for zan in zan_list:
zan_num_str = zan.get_attribute("content-desc")
if not zan_num_str in zan_str_list:
zan_str_list.append(zan_num_str)
phone.swipeUp(session)

count = 0
for zan_str in zan_str_list:
zan_num = zan_number(zan_str)
if zan_num > glv_target_zan_num:
count += 1

if count > 0 :
record.append(name_str)
record.append(fan_num)
record.append(count)
phone.back(session)
phone.swipeDown(session)
getLine(session,record)
else:
phone.back(session)
else:
phone.back(session)


我是专门把实干经验转成赚钱机器,希望有天能躺赚5W+的RIO桑,期待海航中遇到大家!



Comments on "没想到!这里还被催更,影刀RPA如何自动批量采集小红书低粉爆款商品" :

Leave a Reply

Your email address will not be published. Required fields are marked *

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源