Appium数据抓取

环境配置

1.Java SDK下载及环境配置

java SDK下载:https://www.oracle.com/java/technologies/downloads/(科学上网)
配置JAVA_HOME:这是java sdk存放路径
配置path:将java sdk的bin目录加入到path中
验证:java/javac

在这里插入图片描述

2.Android SDK安装及环境配置

AndROid SDK下载:自己找去把
环境配置:1.新建一个ANDROID_HOME,将android sdk路径加入变量值
        2.将android sdk中的platform-tools加入到path中
验证:命令行敲adb

在这里插入图片描述
在这里插入图片描述

XPath定位技术

W3CXpath教程
注意:相较于web端的div span a p 等标签,移动端的标签为class,可以通过appium查看

Appium的安装和手机互联

安装:傻瓜式安装
手机互联

  1. 启动appium
  2. usb连接手机,并要求手机设置为开发者模式,文件传输模式,个别手机还需要在开发者选项中勾选一定内容(如果连接失败可以考虑搜索特定机型并勾选相应内容)
  3. 常见问题总结

在这里插入图片描述

微信朋友圈抓取

from appium import webdriver
import  time
from appium.webdriver.extensions.android.nativekey import AndroidKey
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
def main():
      desired_caps = {
          'platformName': 'Android',  # 被测手机是安卓
          'platformVersion': '11',  # 手机安卓版本
          'deviceName': 'xxx',  # 设备名,安卓手机可以随意填写
          'appPackage': 'com.tencent.mm',  # 启动APP Package名称
          'appActivity': '.ui.LauncherUI',  # 启动Activity名称
          'unicodeKeyboard': True,  # 使用自带输入法,输入中文时填True
          'resetKeyboard': True,  # 执行完程序恢复原来输入法
          'noReset': True,       # 不要重置App
          'newCommandTimeout': 6000,
          'automationName': 'UiAutomator2'
          # 'app': r'd:\apk\bili.apk',
      }
      driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
      driver.implicitly_wait(5)
      search = driver.find_element_by_xpath("//*[@text='发现']//preceding-sibling::android.widget.RelativeLayout//android.widget.ImageView")
      search.click()
      driver.implicitly_wait(5)
      friendGroup = driver.find_element_by_xpath("//android.widget.ListView//android.widget.LinearLayout[@resource-id='com.tencent.mm:id/h8z'][1]")
      friendGroup.click()
      driver.implicitly_wait(5)
      size = driver.get_window_size()
      height = size["height"]
      count = 0
      item_list = []
      for it in range(10):
          items = driver.find_elements_by_xpath('//*[@resource-id="com.tencent.mm:id/hyd"]')
          for item in items:
                  try:
                      nickname = item.find_element_by_xpath('//*[@resource-id="com.tencent.mm:id/fzg"]').get_attribute(
                          'text')
                      content = item.find_element_by_xpath('//*[@resource-id="com.tencent.mm:id/bmy"]').get_attribute(
                          'text')
                      if nickname and content:
                          count = count + 1
                          # print(count,end='')
                          # print(nickname)
                          # print(content,end='\n')
                          item_list.append(nickname)
                          item_list.append(content)
                      else:
                          print("")
                  except:
                      pass
          driver.swipe(300, 1000, 300, 300)
          time.sleep(2)
      final_list = []
      for it in item_list:
          if it not in final_list:
              final_list.append(it)

      print("去重后:")
      for it in item_list:
          print(it)
if __name__ == '__main__':
    main()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 要使用Appium抓取评论,可以通过定位元素的方式来获取评论内容。根据引用\[2\]中的描述,可以通过获取微信朋友圈页面中所有ID为com.tencent.mm:id/emw的元素,来得到每一条微信朋友圈的内容。这些元素对应的是FrameLayout,每个FrameLayout就是一个朋友圈的Item。通过遍历这些元素,可以获取到每一条朋友圈的评论内容。另外,根据引用\[1\]中的描述,可以通过获取ID为com.tencent.mm:id/d13的TextView控件,来获取朋友圈正文的评论内容。所以,通过定位这些元素,就可以抓取到微信朋友圈的评论内容。 #### 引用[.reference_title] - *1* *2* [Python爬虫编程思想(133):项目实战--利用Appium抓取微信朋友圈信息](https://blog.csdn.net/nokiaguy/article/details/123218604)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Appium实现爬取oppo应用商店评论](https://blog.csdn.net/qq_36532060/article/details/117283638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值