Tôi đã thấy một số Ứng dụng và Trang web sử dụng Dữ liệu từ cửa hàng Android Play. Ví dụ: Ứng dụng hoặc Trang web có xếp hạng Ứng dụng hàng đầu, v.v. Nhưng làm thế nào bạn có thể lấy Dữ liệu? Tôi có thể phân tích cú pháp từ đâu?
Tôi đã thấy một số Ứng dụng và Trang web sử dụng Dữ liệu từ cửa hàng Android Play. Ví dụ: Ứng dụng hoặc Trang web có xếp hạng Ứng dụng hàng đầu, v.v. Nhưng làm thế nào bạn có thể lấy Dữ liệu? Tôi có thể phân tích cú pháp từ đâu?
Câu trả lời:
Có một API mã nguồn mở không chính thức cho Android Market mà bạn có thể cố gắng sử dụng để nhận thông tin bạn cần. Hi vọng điêu nay co ich.
Tuyên bố từ chối trách nhiệm: Tôi đến từ 42matters, người đã cung cấp dữ liệu này trên https://42matters.com/api , vui lòng kiểm tra hoặc gửi cho chúng tôi một dòng.
Như lenik đã đề cập, có các thư viện mã nguồn mở đã giúp lấy một số dữ liệu từ GPlay. Nếu bạn muốn tự mình tạo, bạn có thể thử phân tích cú pháp trang Ứng dụng Google Play, nhưng bạn nên chú ý những điều sau:
Vì vậy, để có được siêu dữ liệu một trang là vấn đề tìm nạp html của trang và phân tích cú pháp nó đúng cách. Với JSoup, bạn có thể thử:
HttpClient httpClient = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(crawlUrl);
HttpResponse rsp = httpClient.execute(request);
int statusCode = rsp.getStatusLine().getStatusCode();
if (statusCode == 200) {
String content = EntityUtils.toString(rsp.getEntity());
Document doc = Jsoup.parse(content);
//parse content, whatever you need
Element price = doc.select("[itemprop=price]").first();
}
Đối với trường hợp sử dụng rất đơn giản đó sẽ giúp bạn bắt đầu. Tuy nhiên, vào thời điểm bạn muốn làm nhiều thứ thú vị hơn, mọi thứ trở nên phức tạp:
Danh sách cứ kéo dài. Nếu bạn không muốn làm tất cả những điều này một mình, bạn có thể xem xét API 42matters , hỗ trợ tra cứu và tìm kiếm, biểu đồ hàng đầu của google, truy vấn và bộ lọc nâng cao. Và điều này cho 35 ngôn ngữ và hơn 50 quốc gia.
[2]:
Tôi đã viết mã một mô-đun Node.js nhỏ để quét ứng dụng và liệt kê dữ liệu từ Google Play: google-play-scraper
var gplay = require('google-play-scrapper');
gplay.List({
category: gplay.category.GAME_ACTION,
collection: gplay.collection.TOP_FREE,
num: 2
}).then(console.log);
Các kết quả:
[ { url: 'https://play.google.com/store/apps/details?id=com.playappking.busrush',
appId: 'com.playappking.busrush',
title: 'Bus Rush',
developer: 'Play App King',
icon: 'https://lh3.googleusercontent.com/R6hmyJ6ls6wskk5hHFoW02yEyJpSG36il4JBkVf-Aojb1q4ZJ9nrGsx6lwsRtnTqfA=w340',
score: 3.9,
price: '0',
free: false },
{ url: 'https://play.google.com/store/apps/details?id=com.yodo1.crossyroad',
appId: 'com.yodo1.crossyroad',
title: 'Crossy Road',
developer: 'Yodo1 Games',
icon: 'https://lh3.googleusercontent.com/doHqbSPNekdR694M-4rAu9P2B3V6ivff76fqItheZGJiN4NBw6TrxhIxCEpqgO3jKVg=w340',
score: 4.5,
price: '0',
free: false } ]
Cửa hàng Google Play không cung cấp dữ liệu này, vì vậy các trang web phải tìm kiếm nó.
https://play.google.com/store/xhr/getdoc
- vì vậy rõ ràng là do chính Google Play cung cấp .. Tuy nhiên, kết quả trả về cần một số điều chỉnh để có thể sử dụng được ( như thay thế 4 ký tự ở dòng đầu tiên bằng một cái gì đó giống như data =
trước khi thực hiện eval()
trên chúng).
Đây là tiện ích mở rộng của google chrome sẽ cho phép bạn tải xuống các bài đánh giá của mình : https://chrome.google.com/webstore/detail/my-play-store-reviews/ldggikfajgoedghjnflfafiiheagngoa?hl=vi