Ich versuche ein Lua-Programm mit Sublime und Corona zu erstellen. Ich möchte eine Webseite abrufen, ein Muster verwenden, um bestimmten Text von der Seite zu extrahieren, und den extrahierten Text dann in einer Tabelle speichern. Ich verwende die Methode "network.request" von CoronaVariable speichert event.response nicht von network.request -Lua
Das Problem: Der extrahierte Text wird nicht in die globale Variable gespeichert, die ich erstellt habe. Wann immer ich versuche, es zu referenzieren oder es außerhalb der Funktion zu drucken, gibt es null zurück. Irgendwelche Ideen, warum das passiert?
Ich habe einen Screenshot meiner event.response-Ausgabe angehängt. Dies ist, was ich in meiner Lua Tabelle gespeichert werden sollen
Hier mein Code:
local restaurants = {}
yelpString = ""
--this method tells the program what to do once the website is retrieved
local function networkListener(event)
if (event.isError) then
print("Network error: ", event.response)
else
yelpString = event.response
--loops through the website to find the pattern that extracts
restaurant names and prints it out
for i in string.gmatch(yelpString, "<span >(.-)<") do
table.insert(restaurants, i)
print(i)
end
end
end
-- retrieves the website
network.request("https://www.yelp.com/search?
cflt=restaurants&find_loc=Cleveland%2C+OH%2C+US", "GET", networkListener)
Haben Sie sichergestellt, dass NetworkListener aufgerufen wird? zeige, wie du diese Texte außerhalb der Funktion druckst ... was versuchst du zu referenzieren? Restaurants oder eines seiner Felder? Restaurants ist nicht global übrigens ... – Piglet