Code:
#-*- encoding: utf-8 -*-
import urllib2
#Must-Have Data
QUERY = "the+room"
GOOGLE_URL = "https://play.google.com/store/search?q="+QUERY+"&hl=de"
# Variable Suchparameter
SEARCH_TAG = "href=\""
SEARCH_APP_TAG = "/store/apps/details?id="
# Hole den ganzen HTML-Geschiss von GooglePlay
def getGoogleContent():
return urllib2.urlopen(GOOGLE_URL).read()
# Hole alle URL´s aus dem Quelltext heraus (alle mit Tag "<a href= [...]>") siehe Variable SEARCH_TAG
def parseURLs(content):
fixPoint = 0
toReturn = list()
while content.find(SEARCH_TAG) > 0:
fixPoint = content.find(SEARCH_TAG) + len(SEARCH_TAG)
content = content[fixPoint:]
i = 0
temp = ""
while content[i] != "\"":
if content[i] != "\"":
temp += content[i]
i += 1
toReturn.append(temp)
i = 0
fixPoint = 0
return toReturn
# Überprüfe ob sich das Element bereits in der Liste befindet
# Falls Ja -> Gib "Wahr" zurück
# Falls Nein -> Gib "Falsch" zurück
def isAlreadyInList(value,arr):
i = 0
while i < len(arr):
if arr[i] == value:
return True
i += 1
return False
# Holt aus den geparsten URL´s die Namen der Pakete heraus und befüllt eine weitere Liste mit Hilfe der
# Methode "isAlreadyInList", um Mehrfacheintragungen zu vermeiden
def parseAppNames(appList):
i = 0
toReturn = list()
while i < len(appList):
if appList[i].find(SEARCH_APP_TAG) > -1:
temp = appList[i]
temp = temp[len(SEARCH_APP_TAG):]
if not isAlreadyInList(temp,toReturn):
toReturn.append(temp)
i += 1
return toReturn
# Hole URL´s
liste = parseURLs(getGoogleContent())
# Parse aus den URL´s die Paketnamen
liste = parseAppNames(liste)
# Gib die ganze Liste aus
i = 0
while i < len(liste):
print liste[i]
i += 1