Python抓取优酷视频(下):使用web.py搭建网站框架
2012-09-18 09:01
851 查看
承上:
上篇已经将优酷视频的链接地址采集到数据库中,详情看Python抓取优酷视频(上):爬虫使用及数据处理,这里稍微啰嗦几句,采集的其实就是单独视频播放
的页面地址,而不是flash地址,因此不用做地址解析。接下去任务就是搭建一个网站列表页。
思路:
1.采用web.py搭建网站框架,Django太大,web.py上手快。
2.主页面采用列表页,显示title和date
3.采用分页处理,每页10个视频连接
代码:
代码结构:
web_by:
code.py
template:
index.html
code.py
index.html
代码比较简单就不做分析了,存在的问题是现未按时间顺序排序,原因在于优酷的时间除了日期格式还有比如1小时前等字符,
而采集的时候因为是多线程采集导致没按时间顺序入库。解决办法就是做个时间转换,然后order by date。
效果:
主页
内容页
上篇已经将优酷视频的链接地址采集到数据库中,详情看Python抓取优酷视频(上):爬虫使用及数据处理,这里稍微啰嗦几句,采集的其实就是单独视频播放
的页面地址,而不是flash地址,因此不用做地址解析。接下去任务就是搭建一个网站列表页。
思路:
1.采用web.py搭建网站框架,Django太大,web.py上手快。
2.主页面采用列表页,显示title和date
3.采用分页处理,每页10个视频连接
代码:
代码结构:
web_by:
code.py
template:
index.html
code.py
import web import MySQLdb db = web.database(dbn='mysql',user='root',pw='root',db='python_test') #连接数据库 render = web.template.render('templates/') #模板路径 urls = ( #url设置 '/','index', '/page/(\d+)','index' ) class index: def GET(self,page=1): #分页函数 page = int(page) perpage = 10 offset = (page-1)*perpage posts = db.select('ykgame',order="date DESC",offset=offset, limit=perpage) postcount = db.query('select count(*) as count from ykgame')[0] pages = postcount.count / perpage if postcount.count % perpage > 0: pages += 1 if page > pages: raise web.seeother('/') else: return render.index(posts=posts,pages=pages) if __name__ == "__main__": app = web.application(urls,globals()) app.run()
index.html
$def with (posts,pages) <ul> $for post in posts: <li id= "t$post.id"><a href="$post.href">$post.title</a> $post.date</li> </ul> $for page in range(1,pages+1): <a href="/page/$page">$page</a>
代码比较简单就不做分析了,存在的问题是现未按时间顺序排序,原因在于优酷的时间除了日期格式还有比如1小时前等字符,
而采集的时候因为是多线程采集导致没按时间顺序入库。解决办法就是做个时间转换,然后order by date。
效果:
主页
内容页
相关文章推荐
- 使用web.py搭建网站框架
- 使用Python的Flask框架来搭建第一个Web应用程序
- 使用Python的Flask框架来搭建第一个Web应用程序
- Ubuntu下使用Python+flask+MySQL的架构搭建Web框架
- 在使用django框架搭建web中如果需要单独运行py脚本出现AppRegistryNotReady("Apps aren't loaded yet.")问题
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- nginx连接uwsgi使用web.py框架构造pythonweb项目
- 在python 2.7下面使用webpy框架
- 【猪猪-后端】WebMagic框架搭建的爬虫,根据自定义规则,直接抓取,使用灵活,Demo部署即可查看。
- 树莓派上搭建基于Python+web.py+fastcgi+lighttpd的网站
- Python 快速入门(下) - 使用Web2Py框架搭建网站
- Ubuntu下使用Python+flask+MySQL的架构搭建Web框架
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- 安装Python的web.py框架并从hello world开始编程
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- python:使用web.py实现最简易的web服务器
- centos7.2下搭建python web框架Django环境资料
- 使用ThinkPHP框架快速搭建网站
- golang实战使用gin+xorm搭建go语言web框架restgo详解5.2 跳转和重定向