12306余票查询(七)——如何让python的代码可以被js引用
2018-06-21 00:58
183 查看
数据得用python跑出来,然后我又不想自己写个服务器传数据给浏览器,这里就用到了Eel库,https://github.com/ChrisKnott/Eel Github上有非常详细的讲解
import eel @eel.expose def getdata(start_station,destination,date): data = Get_tickets(start_station,destination,date).tickets_info result = "" for d in data: html = '''<div class = "content"> <ul class="tickets_info"> <li class="first_li">%(train_code)s</li> <li>%(from_station)s</li> <li>%(to_station)s</li> <li>%(start_time)s</li> <li>%(arrive_time)s</li> <li>%(used_time)s</li> <li>%(business_seat)s</li> <li>%(first_seat)s</li> <li>%(second_seat)s</li> <li>%(gjrw)s</li> <li>%(dw)s</li> <li>%(yw)s</li> <li>%(rz)s</li> <li>%(yz)s</li> <li>%(wz)s</li> <li>%(qt)s</li> <li class="last_li">%(remark)s</li> </ul> <ul class="price"> <li class="first_li"></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li>%(business_price)s</li> <li>%(first_seat_price)s</li> <li>%(second_seat_price)s</li> <li>%(gjrw_seat_price)s</li> <li>%(dw_seat_price)s</li> <li>%(yw_seat_price)s</li> <li>%(rz_seat_price)s</li> <li>%(yz_seat_price)s</li> <li>%(wz_seat_price)s</li> <li>%(dw_seat_price)s</li> <li class="last_li"></li> </ul> </div> '''%d result += html return result
装饰器修饰的函数就可以在js中引用
<script src="/eel.js"></script>
html页面中还要加一个js文件的引用
引入eel.js才能完成与python的交互
getdata方法,封装了传参,获取数据和生成html代码
返回值为string,内容为html代码,
考虑前后端分离,html代码是不在python中产生的,但是这里为了方便快捷,就把前端代码生产放在后端执行,耦合度很高,单这只是写来复习的小例子,暂时不考虑太多代码复用和封装的问题
if __name__ == '__main__': eel.init("F:\Python复习\\12306") eel.start("12306.html")
在主函数中,把前端文件夹绝对路径放到eel.init(文件夹路径)函数中,初始化页面内容
eel.start(制定网页文件名)会自动打开指定网页
在这里操作页面可以用Eel与后端代码完成交互
在此时,前端页面是可以被修改的,修改后刷新页面跑的就是实时的页面代码
但是如果后端代码要改,就得重启程序测试
这就是以网页控制爬虫和网页图形化显示爬虫结果,
至于最后一列丑陋的css,明天再搞
相关文章推荐
- (六)Python查询12306余票:升级版-----图形化界面代码
- 刚刚找到的一个JS的应用代码大全,可以用来作技术资料查询
- 如何去掉kingcms生成页面代码中的fun.js引用等信息(转载未查证)
- Python数据分析之如何利用pandas查询数据示例代码
- [原创]用户控件中使用Js,如何在客户端引用用户控件中某个控件的ID
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,有兴趣的朋友可以去下载!
- 如何使用C#在发送往client的内容上加js代码(转)
- 如何:在代码中引用工作表范围
- 如何在C#里面象js一样可以直接计算字符串的值
- (转)javascript如何调用C#后代码中的过程 和ASP.NET调用JS乱码解决方案
- [Python]Python/PHP如何查询sql server中NTEXT类型数据
- 如何使用C#在发送往client的内容上加js代码
- 谈谈如何象VB IDE的Immediate一样不使用工程,可以单独执行代码片断
- 如何实现经度纬度到平面坐标的相互转换? 仅仅4句代码就可以解决!
- javascript如何调用C#后代码中的过程 和ASP.NET调用JS乱码解决方案
- atlas tip - 如何使用script manager引用js文件
- 如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
- 如何使用C#在发送往client的内容上加js代码(转)
- 如何在C#里面象js一样可以直接计算字符串的值
- 如何使用C#在发送往client的内容上加js代码