闲鱼上哪些商品抢手?Python 分析后告诉你!

Python爬虫实战,pyecharts模块,Python数据分析告诉你闲鱼上哪些商品抢手~ 前言 利用利用Python 自动化来获取某类商品中最好卖的商品以供参考。废话不多说。 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pyecharts模块; 以及一些Python自带的模块。 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 准备工作 1、配置好 Android ADB 开发环境 2、Python 虚拟环境内安装pocoui 依赖库 #pocoui\ pip3installpocoui #数据可视... 阅读详情

1

目 标 场 景

经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的 睡后收入。

闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。

本篇文章的目的是利用 Python 自动化 来获取某类商品中最好卖的商品以供参考。

ps:本文仅限用于技术交流,请勿用于其他用途。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

2

准 备 工 作

在编写代码之前,需要做如下准备工作:

1、配置好 Android ADB 开发环境

2、Python 虚拟环境内安装 pocoui 依赖库

3、安装数据可视化依赖库 pyecharts

# pocoui
pip3 install pocoui

# 数据可视化图表
pip3 install pyecharts -U

3

编 写 代 码

我们分 7 个步骤来实现这个功能,分别是:打开目标应用客户端、检索关键字到商品列表界面、计算最佳滑动距离、筛选商品、获取商品链接地址、写入文件排序并统计商品、配置参数。

第 1 步,使用 pocoui 自动化打开目标应用。

def __pre(self):
    """
    准备工作
    :return:
    """
    home()
    stop_app(package_name)
    start_my_app(package_name, activity)

    # 等待到达桌面
    self.poco(text=‘闲鱼‘).wait_for_appearance()
    self.poco(text=‘鱼塘‘).wait_for_appearance()
    self.poco(text=‘消息‘).wait_for_appearance()
    self.poco(text=‘我的‘).wait_for_appearance()

    print(‘进入闲鱼主界面‘)

进入到闲鱼首页之后,应用端会拿到剪切板的数据,当存在特定规律的口令的时,会立马弹出一个对话框,因此需要模拟关闭对话框的操作。

# 如果指定时间内内有淘口令,就关闭
for i in range(10, -1, -1):
      close_element = self.poco(‘com.taobao.idlefish:id/ivClose‘)
      if close_element.exists():
            close_element.click()
            break
      time.sleep(1)

打开应用之后,就可以进行第 2 步操作了。

通过要检索的关键字,模拟输入到输入框内,然后点击搜索按钮,一直等待搜过列表出现为止。

另外,为了更加方便地处理数据,商品列表切换到列表模式,即一行只显示一个商品。

def __input_key_word(self):
    """
    输入关键字
    :return:
    """
    # 进入搜索界面
    perform_click(self.poco(‘com.taobao.idlefish:id/bar_tx‘))

    # 搜索框内输入文本
    self.poco(‘com.taobao.idlefish:id/search_term‘).set_text(self.good_msg)

    # 点击搜索按钮
    while True:
         # 等待检索结果列表出现
         if not self.poco(‘com.taobao.idlefish:id/list_recyclerview‘).exists():
              perform_click(self.poco(‘com.taobao.idlefish:id/search_button‘, text=‘搜索‘))
         else:
              break

    # 等待商品列表完全出现
    self.poco(‘com.taobao.idlefish:id/list_recyclerview‘).wait_for_appearance()

    # 切换到列表
    perform_click(self.poco(‘com.taobao.idlefish:id/switch_search‘))

第 3 步,计算最佳滑动距离。

为了保证爬取数据的高效性,获取计算出每次滑动的最佳距离。

首先先拿到当前界面的 UI 控件树,然后通过控件的属性 ID 拿到商品的坐标,进而得到每一项商品的高度。

最后,通过观察屏幕中出现商品的数目得到最佳滑动距离。

def __get_good_swipe_distance(self):
    """
    获取每次滑动,最合适的距离
    :return:
    """
    element = Element()
    # 保存当前的UI树到本地
    element.get_current_ui_tree()

    # 第一个商品Item的坐标
    position_item = element.find_elment_position_by_id_and_index("com.taobao.idlefish:id/card_root",
                                                                     "1")
    # 商品的高度
    item_height = position_item[1][1] - position_item[0][1]

    # 通过观察,当前屏幕有3件商品
    return item_height * 3

第 4 步,筛选商品。

上面的步骤拿到最佳的滑动距离,不停的滑动页面遍历列表元素的子 Item。

需要注意的是,为了避免滑动惯性导致的误差,每一次的滑动时长最好设置为 2s 以上。

通过商品 Item 筛选出想要数目大于预设数字的商品。

# 多少人想要
want_element_parent = item.offspring(‘com.taobao.idlefish:id/search_item_flowlayout‘)

if want_element_parent.exists():
     # 想要数/已付款数目
     want_element = want_element_parent.children()[0]

     want_content = want_element.get_text()

     # 过滤掉【已付款】等其他商品,只保留个人发布商品
     if ‘人想要‘ not in want_content:
            continue

      # 拿到商品想要的具体数目,代表商品热度
      want_num = get_num(want_content)

      if int(want_num) < self.num_assign:
             # print(‘不达标,过滤掉‘)
             pass
      else:
            # 商品想要数达标,加入统计

第 5 步,获取商品链接地址。

对于上一步满足条件的商品,点击商品 Item 进入到商品详情页面。

接着点击右上角的分享按钮,会立即弹出分享对话框。

然后点击口令控件,会提示口令复制到系统剪切板成功。

# 点击更多
while True:
     if self.poco(‘com.taobao.idlefish:id/ftShareName‘).exists():
          break
     print(‘点击更多~‘)
     perform_click(self.poco(text=‘更多‘))

# 点击复制淘口令
perform_click(self.poco(‘com.taobao.idlefish:id/ftShareName‘, text=‘淘口令‘))

# 拿到口令码
taobao_code_element = self.poco(‘com.taobao.idlefish:id/tvWarnDetail‘)

taobao_code = taobao_code_element.get_text()

第 6 步,写入商品、排序并统计数据。

将上面获取到的商品标题、想要数、分享地址写入到 CSV 文件中。

然后读取数据文件,通过对表格中的第二列进行反向排序,使商品按照想要数进行降序排列。

def __sort_result(self):
    """
    对爬取的结果进行排序
    :return:
    """
    reader = csv.reader(open(self.file_path), delimiter=",")

    # 头部标题
    head_title = next(reader)

    # 按照第二列进行逆序排列
    sortedlist = sorted(reader, key=lambda x: (int(x[1])), reverse=True)

    # 写入头部数据
    write_to_csv(self.file_path, [(head_title[0], head_title[1], head_title[2])], False)

    for value in sortedlist:
       write_to_csv(self.file_path, [(value[0], value[1], value[2])], False)

    return sortedlist

最后拿到前 10 项数据,利用 pyecharts 生成统计图表。

def draw_image(self, sortedlist):
     """
     画图
     :param sortedlist:
     :return:
     """

     # 标题列表
     titles = []

     # 销量
     sales_num = []

     # 拿到爬取结果的标题、销量两个列表
     with open(self.file_path, ‘r‘) as csvfile:
         # 读取文件
         reader = csv.DictReader(csvfile)

         # 加入列表中
         for row in reader:
             titles.append(row[‘title‘])
             sales_num.append(row[‘num‘])

     # 数目限制
     if len(titles) > self.num:
         titles = titles[:self.num]
         sales_num = sales_num[:self.num]

     # 画图
     bar = (
            Bar()
                .add_xaxis(titles)
                .add_yaxis("哪些好卖", sales_num)
                .set_global_opts(title_opts=opts.TitleOpts(title="我要卖货"))
        )
     bar.render(‘%s.html‘ % self.good_msg)

第 7 步,配置参数。

编写 yaml 文件,指定要爬取商品的关键字、爬取时间、想要数考核指标数、筛选商品数目。

goods:
  # 搜索商品1,包含搜索关键字、爬取时间
  good1:
    key_word: ‘资料‘   # 搜索关键字
    key_num: 100  # 筛选【想要数】的临界点
    num: 10      # 只筛选爆款
    time: 600   # 爬取时间(秒)

4

结 果 结 论

提前配置好商品关键字、爬取时间等参数,即可以爬取到符合要求的、最好卖的商品数据,最终以图表的方式展示出来。

 

第十八期:闲鱼上哪些商品抢手?Python分析后告诉你 经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的 睡后收入。 作者:星安果 1.目标场景 经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的睡后收入。 闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。 本篇文章的目的是利用 Python 自动化 来获取某类商品中很好... 阅读详情

相关推荐

闲鱼爬虫,可以爬取商品

非常简单的一个闲鱼爬虫,可以爬取自己要求的价格区间的商品

python 闲鱼_闲鱼上哪些商品抢手?Python 分析后告诉你

点击上方“AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货! 阅读文本大概需要 10分钟。1目 标 场 景经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的睡后收入。闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。本篇文章的目的是利用Python 自动化来获取某类商品中最好卖的...

weixin_39837041的博客 677

【学习笔记】人群归因分数 PAF 以及combined PAF(更新)

在此推荐2篇发表在lancet以及jama子刊上的paf文章,这两篇文章套路是一样的,只是在不同国家进行。希望对大家学习PAF有所帮助,后面有新内容也会继续分享,也欢迎大家分享使用R语言计算PAF的经验~~~的时候,先建立了相关矩阵,再做主成分分析,得到communality。详细信息大家可翻阅原文。

weixin_53499537的博客 1497

怎么用python写抢购脚本,python+selenium抢购脚本

脚本自动化操作确实可以实现抢购商品,相比手动操作有较高的下单成功率,但仅靠上述代码想与某些专业抢购的服务器进行比较还是相去甚远。到此这篇关于教你用Python写一个京东自动下单抢购脚本的文章就介绍到这了!下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

chatgpt002的博客 1550

jmeter5.4.1 使用案例

jmeter主要用于接口压力测试,模拟海量请求并发访问接口 1.下载jmeter https://jmeter.apache.org/download_jmeter.cgi 2.启动jemter 双击即可 3.配置jmeter 1.先更改语言 2.创建线程组 配置线程执行规划 3.创建http请求默认值 4.创建http请求 5.创建http信息头管理器 指定 Content-Type:application/json 6.创建响应断言 7.创建察看结果数 直接点击 执行 按.

SpringHASh的博客 1221

【5G核心网】Packet Forwarding Model 数据包转发模型

CP 通过建立,修改,删除 PFCP 会话上下文,以及通过为每个 PFCP 会话赏析哪问提供 PDR FAR QER URR BAR,来控制 UP 面的数据包处理。 每一个 PDR 都包含 PDI(Packet Detection Information,包探测信息),一个或多个字段,与输入数据包进行匹配,并可能与以下规则相关联,从而提供了适用于与 PDI 匹配的数据包的指令集: - One FAR(包含了处理数据包的相关指令) an Apply Act...

zhonglinzhang 1万+

微信小程序抢购python脚本,python如何做抢东西软件

很多人还不知道微信小程序抢购python脚本,现在让我们一起来看看吧!本人没有精力有限,所以弄了一个抢购软件!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!因为问的人太多了,一方面,有时候没空回复,回复不及时,导致错过抢购..获取这两个参数的方法在第 4 步!本教程完成针对小白,大佬请绕道!本教程完成针对小白,大佬请绕道!本教程完成针对小白,大佬请绕道!

chatgpt001的博客 1万+

AD7768与STM32F439的硬件设计避坑指南:如何优化高精度ADC系统的电源与PCB布局

本文详细解析了AD7768与STM32F439在高精度ADC系统硬件设计中的关键问题与优化方案。从电源系统设计、PCB布局到基准电压选型,提供了实用的避坑指南和实测数据,帮助工程师提升系统性能至110dB动态范围。特别强调了SPI信号布线和电源滤波对ADC精度的重要影响。

sugar的博客 735

闲鱼抢单脚本保姆级防封指南:技术原理与安全使用策略

二手交易平台抢单脚本的江湖生存法则 在闲鱼等二手交易平台上,抢单脚本已成为捡漏利器,但也暗藏封号风险。本文揭示了脚本抢单的技术原理与平台风控机制:脚本通过模拟用户操作实现毫秒级响应,但机械化的行为特征容易被平台AI识别。关键风险点包括行为指纹检测、签名验证陷阱、多账号关联等,数据显示同IP登录3个以上账号封号率高达92%。 安全使用指南建议:控制操作频率在人工80%以下,加入随机延迟;使用独立IP和设备隔离账号;优先选择监控功能而非自动下单;注意内容合规避免敏感词。法律层面需警惕不正当竞争风险,个人使用与商

yzx991013的博客 1699

STM32实战:ADXL345传感器驱动与数据采集全解析(IIC/SPI双模式适配)

本文详细解析了STM32驱动ADXL345传感器的全流程,包括IIC和SPI双模式适配、硬件连接、寄存器配置及数据采集处理。通过实战代码示例和常见问题排查指南,帮助开发者快速实现高精度加速度数据采集,适用于运动检测、姿态识别等多种嵌入式应用场景。

weixin_29171087的博客 313

避开LLC环路设计三大坑:从K因子法看谐振频率选择与相位裕度优化

本文深入剖析LLC谐振变换器环路设计中易犯的三大误区,重点阐述如何运用K因子法优化谐振频率选择与相位裕度。文章通过实际案例,解析了工作区域选择、右半平面零点规避及补偿器相位基准等关键问题,为工程师提供了一套系统性的稳定环路设计方法,确保电源在动态负载下可靠工作。

qsc9012345的博客 262

自动化篇 | 你想要的闲鱼日常操作,Python 给你实现了

点击上方“AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货!阅读文本大概需要 8 分钟。1目 标 场 景前篇文章讲了如何在 iOS 端使用 Airtest 实...

AirPython的博客 5369

基于深度学习的垃圾邮件识别

垃圾邮件的大量存在严重威胁着电子邮件系统的安全和效率。基于深度学习的垃圾邮件识别技术已经成为目前最有效的解决方案之一。本文将详细介绍使用深度学习技术进行垃圾邮件识别的方法,并提供相应的代码实现。 随着电子邮件的广泛应用,垃圾邮件的数量不断增加,传统的规则和统计方法已经无法满足对垃圾邮件进行准确识别的需求。深度学习技术以其强大的模式识别能力和自动特征提取能力成为解决垃圾邮件识别难题的有效工具。

一键难忘的博客 1093

干货!闲鱼上哪些商品抢手?Python 分析后告诉你

1目 标 场 景经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的睡后收入。闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费...

cainiao_python的博客 1234

飞牛NAS 0day漏洞导致断网?完整的排查修复方案来了(含一键检测修复工具)

家里网络莫名断网,折腾十来天才发现是NAS被0day漏洞利用了?🔍 本文详细记录了从发现问题到最终解决的全过程,包括如何自查系统是否被入侵、使用检测脚本和专杀脚本进行修复,以及如何通过端口管理、访问控制、监控预警等措施加固系统安全 🔒,帮助遇到同样问题的用户快速排查和解决NAS安全风险 ✅

XiaoqiangClub的博客 5514

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

闲鱼上哪些商品抢手?Python 分析后告诉你

点击上方“AirPython”,选择“置顶公众号”第一时间获取 Python 技术干货!阅读文本大概需要 10分钟。1目 标 场 景经常看到有朋友在闲鱼卖些小东西又或是...

AirPython的博客 2105

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

为什么闲鱼不能搜索python_闲鱼上哪些商品抢手?Python 分析后告诉你

1目 标 场 景经常看到有朋友在闲鱼卖些小东西又或是自己擅长的一些技能,都能为他们带来不错的 睡后收入。闲鱼上大量的商品,很难精准判断哪些受欢迎,哪些好卖;一个个录入数据去做数据分析,浪费时间的同时,效率也极其的低效。本篇文章的目的是利用 Python 自动化 来获取某类商品中最好卖的商品以供参考。ps:本文仅限用于技术交流,请勿用于其他用途。2准 备 工 作在编写代码之前,需要做如下准备工作:1...

weixin_39626369的博客 165

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: Python代码制作“恐龙跳一跳“小游戏!
下一篇: 抖音数据采集,最全python库selenium自动化使用!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值