现在的位置: 首页 > 综合 > 正文

爬取北邮的讲座消息

2013年08月09日 ⁄ 综合 ⁄ 共 2528字 ⁄ 字号 评论关闭

很遗憾,之前没有坚持做下去,暑假的事情有点多和杂,开学后,准备重启这个项目,那么之前的写的东西,算是记录下自己曾经想法,很多并没有去实现,比如数据库,我现在还是使用mysql。 恩 鄙视下自己

不过 ,最初的目的,已经实现,可以爬取消息。那么现在接下来一周的工作就是完善这个爬取,并可以定制化爬取bbs 的消息。开学后,北邮公告栏改版了,所以公告栏的爬取推后一周进行。

------------------------------------------------------------------------------------------------------

一个简单的检索系统,以前就想做,功能也很简单

  • 以定制的方式爬取论坛 or 公告栏里面的消息 ,或者其他感兴趣的消息 。然后做一个推送,以时间为顺序
之前写过爬虫,对于论坛上的消息现在可以较好的爬下来,但是还不够美观 ,在于对xml 的抽取没有做好 。 现在的问题在于 如何正确的抓取到讲座的消息?
准备采用redis 作为数据储存,对这个还不熟,下一步自然是熟悉这个东西 ; 同时我的系统是定时抓取,因为我白天要去公司,晚上才会回宿舍,也就是说 晚上才会进行抓取,所以服务中间是断开的。
-----------------------------------------------------------------------------------------
2012-7-1
今天主要爬取了bbs上几个版块的一些信息, 然后抓取之后在 index.py 上显示,因为之前将html 标签过滤掉了,所以在显示上很丑,今天去掉了这个,过滤标签应该在 建立索引的时候用,如果要显示,留下html标签是有必要的。那么之后有两个想法
  • 写好脚本,每天按时间爬取bbs 和 buptoa 上面的数据,然后在页面上显示近期的,这个需要再学一些sql 语句,插入数据库的函数还需要改写
  • 想自己建立一个简单的搜索引擎,这样也使得自己能继续学习更多的东西。
-----------------------------------------------------------------------------------------
2012-6-25
今天算是将一些必备的功能实现,勉强可以使用,过程出现了很多小错误
  • python 字符串编码的问题,这个我一直没有掌握  ,我的mysql 插入语句是"sql = "insert into bbsindex(title ,link ,author ,content,score) values('%s' ,'%s' ,'%s' ,'%s', %d)"  %(str(i[0]),str(i[1]),str(i[2]),str(i[3]),1)"
     ,我不知道为什么要加str 有些插入才能成功,而保存在mysql数据库中是一些 unicode 码,在读出来是需要 编码成字符流 ,当然如果你用print 系统会给你做转换,但是作为程序员应该知道这一点,真心希望所有的文本,系统都用统一的utf的编码,这样问题就会少很多
  • 在爬取的消息中,有一些是我不想要的,但是如果才能正确的过滤,这也是以后要改进的地方。 在显示效果上也需要改进,现在的界面很丑。
  • import 如何引用其他目录下的文件,今天在这个上面栽了 几个小时,而且这个目录不再web服务目录下,反正服务器是报错,我想应该是权限问题
  • 使用的apache  添加设置支持 cgi ,并解析py 文件,用一个成熟的服务器,省去了很多麻烦,虽然python 也有自己web服务的插件或库
-----------------------------------------------------------------------------------------
2012-6-24
最近端午节才空出时间弄这个,考虑先使用mysql 数据库, 在使用redis 还有一些疑问。 昨天在插入 公告栏里面东西的时候,一直报错插入不了,调了很久 又莫名的可以了,暂且记下这个问题 ,看来我的python代码在操作mysql 存在某些bug。
  • 在可以顺利插入数据库之后,那现在就需要做一个web访问页面,可以比较好的显示爬取下来的结果
  • 同时也要写一个发送邮件的功能,可以在每天的某个时刻进行推送,这也算完成了最初目的一个简单版本
-----------------------------------------------------------------------------------------
2012-6-13
 在看redis 的过程中出现了两个疑惑
  • 之前说过,这个程序跑在我的电脑上,随时可能中止redis-server 的服务,甚至会经常切换到win7 ,如何保证下一次开机启动后redis还保留我上一次操作的内容,我写入的数据也要保存 。这个貌似是持久化 方面的内容 ,但是自己还是不太懂
  • 我现在用的结构很简单,如果用mysql 来存储的化 ,建一个表就可以,那么现在用redis 应该如何处理呢 ??现在的结构是[ id ,title ,link,author,content ,score ] , 确实不知道如何进行处理
参考
------------------------------------------------------------------------------------------
2013-6-11
今天写好爬虫了,基本上可以爬去北邮公告栏学术办 和 北邮热点活动里面的信息了 ,下面就有几个问题需要解决了才能进行
  • 准备使用redis,作为存储, 应该来讲我要存储的东西不多,而且我对这个程序的定位也是一个小玩意,自己也没有固定的主机来跑这个程序,那么就需要学习redis ,如何使用redis为我服务 ;[1]
  • 然后爬取下来的内容有的时候是不需要的,因为我是根据链接来提取的,那么在页面里面有一些 比如下一页 == 这些东西,如何去除 ,想用过滤垃圾邮件的方式

抱歉!评论已关闭.