企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
安装appium:`pip install appium-python-client` <br/> ```python """ @Date 2021/4/27 """ from appium import webdriver import time class DouyinSpider(object): def __init__(self, nums: int = None): # 1. 初始化配置 self.desired_caps = { 'platformName': 'Android', 'platformVersion': '4.4.2', 'deviceName': 'SM-G973N', 'appPackage': 'com.ss.android.ugc.aweme', 'appActivity': '.splash.SplashActivity' } # 2. 指定 appium server self.server = 'http://localhost:4723/wd/hub' # 3. 新建一个driver self.driver = webdriver.Remote(self.server, self.desired_caps) # 4. 获取模拟器/手机分辨率(px) width = self.driver.get_window_size()['width'] height = self.driver.get_window_size()['height'] print(width, height) # 6. 抖音app滑动 # 滑动初始坐标和距离 self.start_x = width // 2 # 屏幕横轴中心 self.start_y = height // 3 * 2 # 屏幕纵轴从上到下2/3处 self.distance = height // 2 # 滑动距离为屏幕高度的一半 self.nums = nums # 滑动次数 def comments(self): """ app开启后点击一次屏幕,确保页面展示 """ time.sleep(10) self.driver.tap([(500, 1200)], 500) # 首次进入抖音app需要点击 同意 按钮 self.driver.find_element_by_id('bdb').click() def scroll(self): """ 控制滑动 """ print('滑动...') self.driver.swipe(self.start_x, self.start_y, self.start_x, self.start_y - self.distance) time.sleep(3) i = 0 while True: # 模拟滑动 print('滑动...') self.driver.swipe(self.start_x, self.start_y, self.start_x, self.start_y - self.distance) time.sleep(3) self.get_infos() time.sleep(4) # 是否退出 if self.nums is not None and self.nums == i: break i += 1 def get_infos(self): title = self.driver.find_element_by_id("title").text btt = self.driver.find_element_by_id("btt").text a9_ = self.driver.find_element_by_id("a9_").text print("title--->{}".format(title)) print("btt--->{}".format(btt)) print("a9_--->{}".format(a9_)) # 截图 self.driver.get_screenshot_as_file('E:/b.png') def main(self): self.comments() time.sleep(2) self.scroll() if __name__ == '__main__': spider = DouyinSpider(nums=5) spider.main() ``` 打印的部分日志如下: ```txt 720 1280 滑动... 滑动... title--->@韩美娟 btt--->7.5w a9_--->#摸头发 有请二号男嘉宾@张腾_Nate 和韩美娟一起摸头发 滑动... title--->@中国国家田径队 btt--->152.9w a9_--->享受速度的感觉#百米 #田径 滑动... title--->@陈赫 btt--->50.0w a9_--->这个兔子怎么这么可爱#看我手势行动 滑动... title--->@芸萱漫剪 btt--->7.9w a9_--->第42集 | 有认识她的吗? #送你一张壁纸#女神 #高清壁纸 #这样的身材打几分 滑动... title--->@芸萱漫剪 btt--->7.9w a9_--->第42集 | 有认识她的吗? #送你一张壁纸#女神 #高清壁纸 #这样的身材打几分 滑动... title--->@清风文案 btt--->56.6w a9_--->“下雨了,跑与不跑衣服都是要湿的,还不如慢慢走,结局已定,过程无意。”#文案 #扎心文字 ```