forked from jdanceze/cg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcrawler2.py
67 lines (55 loc) · 1.98 KB
/
crawler2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import re
import sys
import requests
from google_play_scraper import app
from bs4 import BeautifulSoup
import json
import time
import wget
from selenium import webdriver
import subprocess
import webbrowser
# fetch the HTML content
url = 'https://www.appbrain.com/stats/google-play-rankings/top_free/dating/us'
response = requests.get(url)
html_content = response.text
target = sys.argv[1]
# package_names = set()
# for match in re.findall(r'/app/[^/]+/([^"]+)', html_content):
# package_names.add(match)
# if package_names:
# print('Package names found:', package_names)
# else:
# print('Package names not found.')
# print("Total: ", len(package_names))
# #package_names = ["com.picso.android","how.draw.cutefood"]
# #,"com.circular.pixels","com.delgeo.desygner","me.bazaart.app"
# #write package names to txt file
# with open("package/photography.txt", "w") as file:
# for package_name in package_names:
# file.write(f"{package_name}\n")
#read package names from txt file
package_names = []
with open(f"package/new/sub/{target}.txt", "r") as file:
for line in file:
package_names.append(line.strip())
#print(package_names)
for package_name in package_names:
print('Fetching app details... ', package_name)
try:
result = app(package_name)
latest_version = result['version']
#print(f"App name: {result['title']}")
print(f"Latest version: {latest_version}\n")
download_url = f"https://d.apkpure.com/b/APK/{package_name}?version=latest"
webbrowser.open(download_url)
time.sleep(5)
# r = requests.get(download_url, allow_redirects=False)
# headers = r.headers
# print(headers)
# open(f"{package_name}.apk", 'wb').write(r.content)
#append package name, app name, latest version, download url to csv file
with open(f"{target}.txt", "a") as file:
file.write(f"{package_name},{latest_version},{download_url}\n")
except:
print("Error: ", package_name)