我通过folium在heroku上生成了一个带有弹出URL的地图,并使用python/Flask进行了部署: map
以下是主python文件中函数的代码。函数获取变量store-name
,webscrapes其谷歌搜索结果并返回一个页面,该页面重定向到此商店的yelp评论
from flask import Flask,render_template
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
@app.route('/myProj/<store-name>')
def yelp(store-name):
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(ChromeDriverManager().install(),options=chrome_options)
link=''
name=''
for x in store-name.split(' '):
link+=('+'+x)
name+=(x+' ')
driver.get("https://www.google.com/search?q=yelp+%s"%link)
raw=str(driver.page_source)
raw=raw.split('\"')
raw=[x for x in raw if len(x)<50 and 'www.yelp.com/biz/' in x]
if len(raw)>0:
res=raw[0]
else:
return render_template("myProj-redirect2.html")
return render_template("myProj-redirect.html",link=res,name=name)
理想情况下,当用户单击某个商店的链接时,网站应该将他们引导到该特定商店的yelp搜索页面,我想知道是否可以使用弹出url调用上面的yelp()
函数来实现这一点。我尝试在弹出URL中硬连接服务器地址,但不起作用:
import folium
html = """
<p>%s</p>
<a href="http://AnDT.herokuapp.com/myProj/%s" target="_blank">\n%s</a>
"""
for lk, lt, ln, store-name,s in zip(links, lat, lon, names,states):
iframe = folium.IFrame(html=html %(store-name,'find out more'), width=200, height=100)
fg_l[s].add_child(folium.Marker(location=[lt, ln], popup=folium.Popup(iframe), icon = folium.Icon(icon='star',color = "black")))
提前感谢您的任何建议或任何其他想法
目前没有回答
相关问题 更多 >
编程相关推荐