zoukankan      html  css  js  c++  java
  • 使用web.py搭建网站框架

    承上: 

    上篇已经将优酷视频的链接地址采集到数据库中,详情看Python抓取优酷视频(上):爬虫使用及数据处理,这里稍微啰嗦几句,采集的其实就是单独视频播放

    的页面地址,而不是flash地址,因此不用做地址解析。接下去任务就是搭建一个网站列表页。

    思路:

    1.采用web.py搭建网站框架,Django太大搞不懂,web.py上手快。

    2.主页面采用列表页,显示title和date

    3.采用分页处理,每页10个视频连接

    代码:

    代码结构:

    web_by:

      code.py

      template:

        index.html

     

    code.py

    复制代码
     1 import web
     2 import MySQLdb
     3 
     4 db = web.database(dbn='mysql',user='root',pw='root',db='python_test')       #连接数据库
     5 render = web.template.render('templates/')                                  #模板路径
     6 urls = (                                                                    #url设置
     7     '/','index',
     8     '/page/(\d+)','index'    
     9 )
    10 
    11 class index:
    12     def GET(self,page=1):                                                   #分页函数
    13         page = int(page)
    14         perpage = 10 
    15         offset = (page-1)*perpage
    16         posts = db.select('ykgame',order="date DESC",offset=offset,
    17                                     limit=perpage)
    18         postcount = db.query('select count(*) as count from ykgame')[0]
    19         pages = postcount.count / perpage
    20         if postcount.count % perpage > 0:
    21             pages += 1
    22         if page > pages:
    23             raise web.seeother('/')
    24         else:
    25             return render.index(posts=posts,pages=pages)
    26 
    27 if __name__ == "__main__":
    28     app = web.application(urls,globals())
    29     app.run()
    复制代码

    index.html

    复制代码
    1 $def with (posts,pages)
    2 <ul>
    3 $for post in posts:
    4     <li id= "t$post.id"><a href="$post.href">$post.title</a>  $post.date</li>
    5 </ul>
    6 
    7 $for page in range(1,pages+1):
    8     <a href="/page/$page">$page</a>
    复制代码

    代码比较简单就不做分析了,存在的问题是现未按时间顺序排序,原因在于优酷的时间除了日期格式还有比如1小时前等字符,

    而采集的时候因为是多线程采集导致没按时间顺序入库。解决办法就是做个时间转换,然后order by date。

    效果:


    主页

    内容页

     
    分类: python
  • 相关阅读:
    int,long int,short int所占字节
    NSArray Sort
    Foundation Kit
    界面构建
    主题存放问题
    ObjectiveC中委托和协议
    IOS中编码转换方法(转)
    螺旋队列
    如何在多台机器上共享IOS证书
    Xcode 中使用Github
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2690453.html
Copyright © 2011-2022 走看看