2013-06-08 50 views
5

Tôi muốn thu thập dữ liệu cửa hàng Google Play để tải xuống các trang web của tất cả ứng dụng android (Tất cả các trang web có url cơ sở sau: https://play.google.com/store/apps/). Tôi đã kiểm tra tệp robots.txt của cửa hàng phát và nó không cho phép thu thập thông tin các URL này.Thu thập thông tin cửa hàng Google Play

Ngoài ra, khi tôi duyệt qua cửa hàng Google Play, tôi chỉ có thể xem các ứng dụng hàng đầu tối đa 3 trang cho mỗi danh mục. Làm thế nào tôi có thể nhận được các trang ứng dụng khác?

Nếu có ai đó đã thử thu thập thông tin trên Google Play, vui lòng cho tôi biết những điều sau đây: a) Bạn có thành công trong việc thu thập thông tin cửa hàng trò chơi hay không. Nếu có, vui lòng cho tôi biết cách bạn đã làm điều đó. b) Cách thu thập dữ liệu các trang ứng dụng ẩn không hiển thị trong các ứng dụng hàng đầu cho từng danh mục? c) Có kỹ thuật để tải xuống các ứng dụng cũng không chỉ các trang web không?

Tôi đã tìm kiếm xung quanh và tìm thấy các liên kết sau đây:

a) https://code.google.com/p/android-market-api/ 
b) https://code.google.com/p/android-marketplace-crawler/source/checkout 
c) http://mohsin-junaid.blogspot.co.uk/2012/12/how-to-install-android-marketplace.html 
d) http://mohsin-junaid.blogspot.in/2012/12/how-to-download-multiple-android-apks.html 

Cảm ơn!

Trả lời

2

Tôi đã thực hiện công việc bằng Python trước đây, những gì bạn cần là một lib kiểm tra tự động web có tên là selenium, nó có thể thực thi mã Javascript và trả về kết quả bằng Python, với Javascript, bạn có thể nhấp vào nút "hiển thị thêm" bản thân chương trình. Và khi bạn nhận được tất cả các liên kết cho một trang danh mục duy nhất, bạn có thể nhận được một số thông tin cho ứng dụng. Bản demo đơn giản here. Hy vọng hữu ích.

2

Trước hết, Google Play robots.txt KHÔNG không cho phép các trang với cơ sở "/ cửa hàng/ứng dụng" .

Nếu bạn muốn thu thập thông tin trên Google Play, bạn cần phát triển trình thu thập dữ liệu web của riêng mình, phân tích trang HTML và trích xuất siêu dữ liệu ứng dụng bạn cần (ví dụ: tiêu đề, mô tả, giá, v.v.). Chủ đề này đã được đề cập trong phần khác question. Có thư viện giúp với điều đó, ví dụ:

Phần khó là để "tìm thấy" các ứng dụng trang để thu thập thông. Bạn có thể sử dụng 1) Google Play Sitemap hoặc 2) theo các liên kết ứng dụng mà bạn tìm thấy trong mỗi trang bạn thu thập dữ liệu như được giải thích trong tài liệu Link Extractor (trong trường hợp bạn định sử dụng Scrapy).

Một tùy chọn khác là sử dụng thư viện nguồn mở dựa trên ProtoBuf để tìm nạp siêu dữ liệu về ứng dụng, tại đây liên kết đến dự án: https://code.google.com/archive/p/android-market-api. Thư viện này tìm nạp siêu dữ liệu ứng dụng từ Google Play thay mặt cho tài khoản Google hợp lệ, nhưng trong trường hợp này, bạn cần trình thu thập thông tin để "tìm" ứng dụng nào khả dụng và lên lịch thu thập dữ liệu meta. Dự án nguồn mở khác này có thể giúp bạn với điều đó: https://code.google.com/archive/p/android-marketplace-crawler.

Nếu bạn không muốn tự mình triển khai tất cả điều này, bạn có thể sử dụng dịch vụ được quản lý của bên thứ ba để truy cập siêu dữ liệu ứng dụng Android thông qua API dựa trên JSON.Ví dụ, 42matters.com (công ty tôi làm việc cho) cung cấp một API cho cả Android và iOS để lấy meta-data ứng dụng, ở đây biết thêm chi tiết:

https://42matters.com/app-market-data

Để có được các Tiêu đề, biểu tượng, mô tả , Tải nội dung cho một ứng dụng, bạn có thể sử dụng "tra cứu" thiết bị đầu cuối như tài liệu ở đây:

https://42matters.com/docs/app-market-data/android/apps/lookup

đây là một ví dụ về phản ứng JSON cho "Angry Birds Space Premium" ứng dụng:

{ 
    "package_name": "com.rovio.angrybirdsspace.premium", 
    "title": "Angry Birds Space Premium", 
    "description": "Play over 300 interstellar levels across 10 planets...", 
    "short_desc": "The #1 mobile game of all time blasts off into space!", 
    "rating": 4.3046236038208, 
    "category": "Arcade", 
    "cat_key": "GAME_ARCADE", 
    "cat_keys": [ 
     "GAME_ARCADE", 
     "GAME", 
     "FAMILY_EDUCATION", 
     "FAMILY" 
    ], 
    "price": "$1.15", 
    "downloads": "1,000,000 - 5,000,000", 
    "version": "2.2.1", 
    "content_rating": "Everyone", 
    "promo_video": "https://www.youtube.com/embed/g6AL9YqRHaI?ps=play&vq=large&rel=0&autohide=1&showinfo=0&autoplay=1", 
    "market_update": "2015-07-03T00:00:00+00:00", 
    "screenshots": [ 
     "https://lh3.googleusercontent.com/ZmuBQzIy1G74coPrQ1R7fCeKdJmjTdpJhNrIHBOaFyM0N2EYdUPwZaQjnQUtiUDGmac=h310", 
     "https://lh3.googleusercontent.com/Xg2Aq70ZH0SnNhtSKH7xg9jCfisWgmmq3C7xQbx6YMhTVAIRqlRJeH8GYtjxapb_qR4=h310", 
     "https://lh3.googleusercontent.com/T4o5-2_UP82sj4fSSegbjrGmslNHlfvtEYuZacXMSOC55-7eyiKySw05lNF1QQGO2FeU=h310", 
     "https://lh3.googleusercontent.com/f2ennaLdivFu5cQQaVPKsRcWxB8FS5T4Bkoy3l0iPW9-GDDnTVRhvR5kz6l4m8FL1c8=h310", 
     "https://lh3.googleusercontent.com/H-9M03_-O9Df1nHr2-rUdjtk2aeBY3bAxnqSX3m2zh_aV8-K1t0qU1DxLXnK0GrDAw=h310" 
    ], 
    "created": "2012-03-22T08:24:00+00:00", 
    "developer": "Rovio Entertainment Ltd.", 
    "number_ratings": 20812, 
    "price_currency": "$", 
    "icon": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w300", 
    "icon_72": "https://lh3.ggpht.com/aQaIEGrmba1ENSEgUtArdm3yhJUug7BRWlu_WaspoJusZyHv1rjlWtYqe_qRjE_Kmh1E=w72", 
    "market_url": "https://play.google.com/store/apps/details?id=com.rovio.angrybirdsspace.premium&referrer=utm_source%3D42matters.com%26utm_medium%3Dapi" 
} 

Tôi hy vọng điều này sẽ hữu ích, nếu không hãy liên hệ với tôi. Tôi biết chủ đề này khá tốt và có thể chỉ cho bạn đúng hướng.

Kính trọng,

Andrea

+0

Tôi không thể nhìn thấy bất kỳ API trong 42matter mà có thể được sử dụng để lấy tất cả các ứng dụng. Giả sử tôi muốn phân tích cú pháp email của tất cả ứng dụng Google Play có hơn 10.000 lượt cài đặt và ít hơn 5 triệu lượt cài đặt. 42matter chỉ cung cấp API để tìm nạp ứng dụng theo gói hoặc theo cụm từ tìm kiếm – user12384512

+0

@ user12384512 với API truy vấn nâng cao https://42matters.com/docs/app-market-data/android/apps/advanced-query-api bạn có thể truy xuất chính xác những gì bạn cần bằng cách thiết lập downloads_gte và downloads_lte tương ứng. Hi vọng điêu nay co ich :) – agirardello

Các vấn đề liên quan