SimpleCD 山寨版的 VeryCD开源项目

我要开发同款
匿名用户2009年12月20日
133阅读

技术信息

开源地址
https://github.com/nooku/www.nooku.org
授权协议
LGPL

作品详情

SimpleCD是什么?

是山寨化VeryCD的全套工具,包括抓取脚本,网站代码等

谁需要使用SimpleCD?

想保存VeryCD链接资源者:别镜像VeryCD了,用这个吧。

想研究爬虫脚本和pytho语法者:其实写得挺烂的,勉强能用而已。

想研究web.py+sqlite3网站架设的爱好者:说学习是抬举我了,一周以前我也既不懂web.py又不懂sql数据库。

想测试自己虚拟主机性能者:没错,毕竟是1G的数据库,能跑而且能跑得顺畅的均非等闲主机

SimpleCD长啥样子?

simplecd架设完毕的例子:https://www.simplecd.org

为什么用web.py?

抓网站用的是pytho,用pytho系的框架能更好的整合

比较了一下djago和web.py,更喜欢web.py那种“用pytho写网站”,而不是djago那种“用djago写网站”的风格。

为什么使用sqlite做数据库?

最开始是因为pytho自带,简单易用

现在是因为实际表现比mysql好10倍:https://obmem.com/?p=317

sqlite的弱点是高并发可能会锁死数据库,但是我已经找到解决方案,就是等什么时候有空研究一下怎么写代码。

其他

我的个人主页,有源码的实现细节,欢迎来踩:https://obmem.com

博客中VeryCD相关:https://obmem.com/?tag=verycd

更直观的架设攻略请参考视频:https://www.simplecd.org/static/tutorial.html

SimpleCD使用方法1.需求:

所有可以架设web.py的地方,例如:

一个VPS(VirtualDedicatedServer)(参考Xe和OpeVZ测试(附VPS推荐))

一个支持web.py的国外共享主机(例如dreamhost架设web.py攻略)

一个支持web.py的国内共享主机(例如stdyu.com架设web.py攻略)

推荐配置:

XeVPS需要至少768MB内存的LiuxVPS

OpeVZVPS需要Burstable内存至少512MB内存的LiuxVPS,基本内存可以小一点没问题。

内存太少的解决方法:

修改gix/spaw-fcgi.sh中"-F2"改为"-F1",只使用一个守护进程

重新写一个资源占用较低的框架来存取sqlite3。sqlite3直接存取占内存不大。

不要试图用mysql来取代sqlite,mysql效率更低

本教程基于操作系统Ubutu9.04由于玩VPS的都非善类,相信其他操作系统的架设都能自己解决

2.修改软件源

我们要用新软件,所以直接修改/etc/apt/sources.list把其中的jauty改为karmic,用9.10的软件源:)

然后更新一下

apt-get update

接下来分别安装gix,spaw-fcgi,和mercurial

apt-getistallgixapt-getistallspaw-fcgiapt-getistallmercurial

再接下来是easy_istall的安装,以及安装web.py和flup

apt-getistallpytho-setuptoolseasy_istallweb.pyeasy_istallflup3.简易架设攻略

下载源码

cd/var/wwwhgcloehttps://simplecd.googlecode.com/hgsimplecdcdsimplecdhgupdatedeploymet

接下来做一些基本的配置

#创建数据库./fetchvc.pycreatedb#gix的配置文件(请根据视频进行相应修改)cpgix/gix.cof/etc/gix/cpgix/simplecd/etc/gix/site-available/l-s/etc/gix/site-available/simplecd/etc/gix/site-eabled/simplecd#用spaw-fcgi开fcgigix/spaw-fcgi.sh#开启gix服务/etc/iit.d/gixstart

好了,大功告成,访问vps的地址看看,应该已经架设完毕了

4.simplecd的使用一些数据库的更新方法:

上一步中的数据库还是空的,必须下载数据库,数据库更新方法如下

./fetchvc.pyfeed#按照feed更新数据库./fetchvc.pyupdate#更新主页的前20页数据./fetchvc.pyfetchq=海猫#在verycd搜索所有关于海猫的内容并更新到数据库./fetchvc.pyfetchTopicID#直接更新topicid./fetchvc.pyfetchall#更新全部数据库,建议还是不要尝试为好./fetchvc.pyfetch1000-1001#更新verycd的archives页面第1000页到1001页的内容下载全数据库(截止2009.12.18)

eMule链接:

ed2k://%7Cfile%7Cverycd.sqlite3.db.lzma%7C233121378%7C0fd38cff1353e996576f9f3e9b8c65dd%7C

解压:lzma-dverycd.sqlite3.db.lzma

然后放入simplecd目录即可

设置自动更新

想让simplecd自动和VeryCD保持同步?

试试看defaultbrach的scdd.py:

hgupdatedefaultpythoscdd.pystart

每隔15分钟看一下,如果成功的话应该已经有自动更新了

为什么simplecd.org的主页和deploymet不一致?

simplecd.org上有些特殊的设置,所以我没有让它与本源代码同步,而是同步到另一个目录,作出一些调整,然后复制到目标目录。

要尝试新界面和新功能你可以试试看devbrach:

hg update dev

注意:最新的devbrach使用了mysql数据库,sqlite到mysql的转换可见cof.py的注释部分。

注意2*:mysql性能可能会极烂,如果有2G以上内存那么可以考虑修改my.cf至它默认的huge站的配置文件

功能介绍

SimpleCD 是什么? 是山寨化 VeryCD 的全套工具,包括抓取脚本,网站代码等 谁需要使用 SimpleCD? 想保存 VeryCD 链接资源者:别镜像 VeryCD 了,用这个吧。 ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论