副问题[/!--empirenews.page--]
1.方针场景
常常看到有伴侣在闲鱼卖些小对象又或是本身善于的一些手艺,都能为他们带来不错的 睡后收入。
闲鱼上大量的商品,很难精准判定哪些受接待,哪些好卖;一个个录入数据去做数据说明,挥霍时刻的同时,服从也极其的低效。
本篇文章的目标是操作 Python 自动化 来获取某类商品中很好卖的商品以供参考。
ps:本文仅限用于技能交换,请勿用于其他用途。
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 拿到商品的坐标,进而获得每一项商品的高度。
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|