Я пытаюсь отправить данные из python в Javascript, используя EEL и их документацию, и это не похоже на работу ... Я продолжаю получать значение NULL на моей странице html / js.
Вот что у меня есть. В основном я хочу получить ссылку на обои BING и использовать ее на своей странице в качестве фона. Но до тех пор я хочу сначала получить результат.
Сценарий BING py:
import bs4
import requests
import json
def scrape_bing():
BASE_PATH = 'http://www.bing.com'
BASE_REST = '/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US'
URL = BASE_PATH + BASE_REST
r = requests.get(url=URL)
if r.status_code == 200:
data = r.json()
wallpaper_path = BASE_PATH + data['images'][0]['url']
print(wallpaper_path)
else:
raise ValueError("[ERROR] non-200 response from Bing server for '{}'".format(URL))
def main():
scrape_bing()
if __name__ == '__main__':
main()
Сценарий работает и возвращает мой URL в консоли Python.
Мой main.py с EEL выглядит следующим образом:
import eel
from inc.bing import scrape_bing
eel.init('web')
myDef = scrape_bing()
@eel.expose
def bingR():
return myDef
try:
eel.start('index.html', mode='chrome', host='localhost', port=8274)
except (SystemExit, MemoryError, KeyboardInterrupt):
pass
print ('Closed browser log...!')
Я использовал команду asyn c, как и в их примерах, например:
<script type="text/javascript" src="/eel.js"></script>
<script type="text/javascript">
async function run() {
let n = await eel.bingR()();
console.log('Got this from Python: ' + n);
}
run();
</script>
Пожалуйста помогите мне понять, как все это работает.