python 을 사용 하여 틱 톡 app 동 영상의 인 스 턴 스 코드 를 추출 합 니 다.
프로 그래 밍 도구:pycharm
app 패키지 도구:mitmproxy
app 자동화 도구:appium
실행 환경:windows 10
생각:
우리 가 필요 로 하 는 도 구 를 이미 설정 했다 고 가정 하 자.
1.mitmproxy 를 사용 하여 핸드폰 app 스냅 백 에 우리 가 원 하 는 내용 을 가 져 옵 니 다.
2.appium 자동화 테스트 도 구 를 이용 하여 app 모 의 사람의 동작(미끄럼,클릭 등)을 구동 합 니 다.
3.1 과 2 를 결합 하여 자동화 파충류 의 효과 달성
1.mitmproxy/mitmdump 스냅 백
mitmproxy 가 설치 되 어 있 고 핸드폰 과 PC 가 같은 랜 에 있 는 지 확인 하 는 동시에 mitmproxy 의 CA 인증 서 를 설정 하 였 습 니 다.인터넷 에 관련 된 설정 튜 토리 얼 이 많 습 니 다.여 기 는 생략 하 겠 습 니 다.
mitmproxy 는 windows 시스템 을 지원 하지 않 기 때문에 구성 요소 중 하나 인 mitmdump 를 사용 합 니 다.mitmproxy 명령 행 인터페이스 입 니 다.Python 스 크 립 트 를 연결 하여 Python 으로 감청 후 처리 할 수 있 습 니 다.
mitmproxy 를 설정 한 후 콘 솔 에 mitmdump 를 입력 하고 핸드폰 에 틱 톡 app 을 켜 면 mitmdump 는 핸드폰 의 모든 요청 을 보 여 줍 니 다.다음 그림 입 니 다.
틱 톡 앱 에서 계속 아래로 내 려 갈 수 있 습 니 다.mitmdump 가 보 여 준 요청 을 보면 접두사 가 각각
http://v1-dy.ixigua.com/ ; http://v3-dy.ixigua.com/ ; http://v9-dy.ixigua.com/
이 세 가지 유형의 접두사 url 이 바로 우리 의 목표 인 틱 톡 영상 url 이다.
다음은 python 스 크 립 트 를 작성 하여 동 영상 을 다운로드 하려 면 mitmdump-s scripts.py(python 파일 이름)를 사용 하여 스 크 립 트 를 실행 해 야 합 니 다.
import requests
#
path = 'D:/video/'
num = 1788
def response(flow):
global num
# url 3
target_urls = ['http://v1-dy.ixigua.com/', 'http://v9-dy.ixigua.com/',
'http://v3-dy.ixigua.com/']
for url in target_urls:
# url
if flow.request.url.startswith(url):
#
filename = path + str(num) + '.mp4'
# request url
# stream=True Response.content
res = requests.get(flow.request.url, stream=True)
#
with open(filename, 'ab') as f:
f.write(res.content)
f.flush()
print(filename + ' ')
num += 1
코드 는 비교적 거 칠 게 쓰 였 지만 기본 적 인 논 리 는 비교적 뚜렷 하 다.그러면 우 리 는 틱 톡 의 동 영상 을 다운로드 할 수 있다.그러나 이 방법 은 동 영상 을 얻 을 때 사람 이 끊임없이 틱 톡 의 다음 동 영상 을 미 끄 러 뜨 려 야 한 다 는 결함 이 있다.이때 우 리 는 강력 한 appium 자동화 테스트 도구 로 해결 할 수 있다.2.Appium 은 핸드폰 에 대해 모 의 조작 을 한다.
appium 이 의존 하 는 환경 을 설정 한 Android 와 SDK 를 확보 하고 인터넷 에 도 많은 튜 토리 얼 이 있 습 니 다.여 기 는 말씀 드 리 지 않 겠 습 니 다.
appium 의 용법 은 매우 간단 합 니 다.먼저 appium 을 열 고 시작 화면 은 다음 과 같 습 니 다.
Start Server 버튼 을 누 르 면 appium 서 비 스 를 시작 할 수 있 습 니 다.
안 드 로 이 드 폰 을 데이터 라인 을 통 해 PC 와 연결 하 는 동시에 USB 디 버 깅 기능 을 켜 면 adb 명령(구체 적 으로 인터넷 에서 찾 을 수 있 음)을 입력 하여 연결 상황 을 테스트 할 수 있 으 며,다음 과 같은 결과 가 나 오 면 연결 성공 을 설명 합 니 다.
model 은 장치 이름 입 니 다.뒤쪽 설정 에 사용 해 야 합 니 다.다음 화살표 가 가리 키 는 단 추 를 누 르 면 설정 페이지 가 나타 납 니 다.
오른쪽 아래 에 있 는 JSON Representation 설정 에서 app 을 시작 하 는 Desired Capabilities 인 자 는 paltformName,deviceName,app Package,app Activity 입 니 다.
platformName:플랫폼 이름,일반적으로 Android 또는 iOS 입 니 다.
deviceName:장치 이름,핸드폰 의 구체 적 인 유형
앱 패키지:앱 패키지 이름
appActivity:입구 Activity 이름,보통.로 시작 합 니 다.
platformName 과 deviceName 은 쉽게 얻 을 수 있 으 며,app Package 와 app Activity 두 가 지 는 다음 과 같은 방법 으로 얻 을 수 있 습 니 다.
콘 솔 에 입력 adb logcat>D:\log.log 명령 하고 핸드폰 에서 틱 톡 app 을 켜 고 D 디스크 에서 log.log 파일 을 열 어 Displayed 키 워드 를 찾 습 니 다.
위의 그림 에서 알 수 있 듯 이 Displayed 뒤의 com.ss.android.ugc.aweme 는 app Package,.main.MainActivity 에 대응 하 는 것 은 app Activity 입 니 다.마지막 으로 우리 의 설정 결 과 는 다음 과 같 습 니 다.
{
"platformName": "Android",
"deviceName": "Mi_Note_3",
"appPackage": "com.ss.android.ugc.aweme",
"appActivity": ".main.MainActivity"
}
Start Session 을 클릭 하면 Android 핸드폰 의 틱 톡 앱 을 시작 하고 시작 페이지 에 들 어 갈 수 있 습 니 다.이 동시에 PC 에 디 버 깅 창 이 나타 납 니 다.이 창 에서 현재 핸드폰 페이지 를 미리 볼 수 있 고 핸드폰 에 대해 여러 가지 조작 을 모 의 할 수 있 습 니 다.본 고 는 중점 이 아니 기 때문에 생략 합 니 다.아래 에서 우 리 는 python 스 크 립 트 를 사용 하여 app 를 구동 할 것 입 니 다.pycharm 에서 직접 실행 하면 됩 니 다.
from appium import webdriver
from time import sleep
class Action():
def __init__(self):
# , Desired Capabilities
self.desired_caps = {
"platformName": "Android",
"deviceName": "Mi_Note_3",
"appPackage": "com.ss.android.ugc.aweme",
"appActivity": ".main.MainActivity"
}
# Appium Server
self.server = 'http://localhost:4723/wd/hub'
# Session
self.driver = webdriver.Remote(self.server, self.desired_caps)
#
self.start_x = 500
self.start_y = 1500
self.distance = 1300
def comments(self):
sleep(2)
# app ,
self.driver.tap([(500, 1200)], 500)
def scroll(self):
#
while True:
#
self.driver.swipe(self.start_x, self.start_y, self.start_x,
self.start_y-self.distance)
#
sleep(2)
def main(self):
self.comments()
self.scroll()
if __name__ == '__main__':
action = Action()
action.main()
다음은 파충류 의 과정 이다.ps:가끔 반복 되 는 동 영상 을 찾 아 요.python 을 이용 하여 틱 톡 앱 동 영상 을 추출 하 는 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python 이 틱 톡 앱 동 영상 을 추출 하 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.