Changeset 16347


Ignore:
Timestamp:
Jul 19, 2016, 4:19:28 PM (3 years ago)
Author:
dferreira
Message:

Changed made to script thad download images from aptoide store.

Location:
internals/2016/aptoideimagesdetector/trunk/Source Code/Linguage Extractor/Initial language extractor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • internals/2016/aptoideimagesdetector/trunk/Source Code/Linguage Extractor/Initial language extractor/get_list_id.py

    r16344 r16347  
    77import json
    88import sys
     9import re
     10
     11# Still with bug in descriptions with double quotes
     12
     13# New table to crawl apps
     14# id, isProcessed, date, search tags
    915
    1016def get_list_id(query, **keyword_parameters):
     
    2228        try:
    2329                while offset != total:
    24                         webpage = urllib2.urlopen(url+query+"/offset="+str(offset))
     30                        #webpage = urllib2.urlopen(url+query+"/offset="+str(offset))
     31                        webpage = urllib2.urlopen('http://ws2.aptoide.com/api/7/listSearchApps/query=music/offset=198')
    2532                        soup = BeautifulSoup(webpage, "lxml")
    26                         page = json.loads(soup.get_text())
     33                        print soup
     34                        print "\n"
     35                        prog = re.compile('.*"description":".*"},"stats":{".*')
     36                        text = soup.get_text()
     37                        match = re.match(prog, text)
     38                        print match
     39                        if match:
     40                                print "HERE!"
     41                                text = re.sub('"description":".*"},"stats":{"',' ', text)
     42                        print text
     43                        page = json.loads(text)
    2744                        data = page['datalist']['list']
    2845                       
  • internals/2016/aptoideimagesdetector/trunk/Source Code/Linguage Extractor/Initial language extractor/get_store_info.py

    r16344 r16347  
     1#
     2#
     3#
     4
    15from bs4 import BeautifulSoup
     6import urllib
    27import urllib2
    38import json
    49import sys
    5 import mysql.connector
     10import sqlite3
     11import os
    612
    7 # Database: ID|TITLE|DESCRIPTION|MAJORITY|SCREENSHOT|IMAGES
     13# Has a bug
     14# In the future, change to a more robust database system (MySQL, ...)
    815
    9 def get_app_information(id_list):
     16# Maximum id's as input
     17# Use only second api
     18# Add category, wurl, repo, icon hd, screenshots hd
     19
     20def get_store_info(id_list, db):
    1021        url = "http://ws2.aptoide.com/api/7/getAppMeta/app_id="
    1122        url2 = "http://webservices.aptoide.com/webservices/3/getApkInfo/id:"
     
    2233                        icon = data['icon']
    2334                        print icon
     35                        filename, file_extension = os.path.splitext(icon)
     36                        print file_extension
     37                        path = os.path.join(os.getcwd(),"images/icon/"+str(sid)+file_extension)
     38                        print path
     39                        resource = urllib.urlopen(icon)
     40                        output = open(path,"w+")
     41                        output.write(resource.read())
     42                        output.close()
    2443                        description = data['media']['description']
    2544                        print description
    2645                        screenshots = []
    2746
     47                        i=0
    2848                        for scr in data['media']['screenshots']:
    2949                                screenshots.append(scr['url'])
    3050                                print scr['url']
     51                                filename, file_extension = os.path.splitext(scr['url'])
     52                                print file_extension
     53                                path = os.path.join(os.getcwd(),"images/screenshot/"+str(sid)+"_"+str(i)+file_extension)
     54                                print path
     55                                resource = urllib.urlopen(scr['url'])
     56                                output = open(path,"w+")
     57                                output.write(resource.read())
     58                                output.close()
     59                                i+=1
    3160
    3261                        webpage = urllib2.urlopen(url2+str(sid)+"/json")
     
    3564                        maj = page['meta']['min_age']
    3665                        print maj
    37 
     66                        c.execute(''' SELECT id FROM app_info WHERE id=? ''', (sid,))
     67                        if c.fetchone():
     68                                print "Already exists in database"
     69                        else:
     70                                c.execute(''' INSERT INTO app_info VALUES (?,?,?,?) ''', (sid,maj,name,description,))
    3871                except urllib2.HTTPError:
    3972                        print "Error while fetching from database."
     73
     74
     75
     76if __name__=="__main__":
     77
     78        #try:
     79        db = sqlite3.connect('app_info.db')
     80        c = db.cursor()
     81
     82        all_ids = []
     83        all_ids.append(4722131)
     84        get_store_info(all_ids, c)
     85        db.commit()
     86        db.close()
     87        #except:
     88        #       print "Connection refused"
     89        #       exit(1)
Note: See TracChangeset for help on using the changeset viewer.