基于Scrapy的贴吧爬虫系统设计和实现文献综述
2020-04-14 21:34:51
虽然不止百度有贴吧,但目前最具影响力的只有百度贴吧,所以我的选题——贴吧爬虫系统是专门针对百度贴吧,以下所说的贴吧都是指百度贴吧。
作为一个经常接触各种线上论坛和社区的大学生,贴吧在很长一段时间里都是我最常去的在线社区之一。贴吧作为一个线上交流平台,它将那些对有相同兴趣爱好的人们聚集在一起,通过发帖评论交流各自的看法认识,分享自己的生活——贴吧是一个闲聊唠嗑的交流平台;也可以交流对各自有用的资源或是发表技术帖,经验帖,攻略帖,互相帮助,更好的工作和学习——贴吧此时可以作为一个技术平台;作为以文字图片为主要表达形式的社区,也有人在贴吧上发表原创小说,无法牟利,只为表达和锻炼自己的文学才华,而且据我的观察,精彩的小说还不算少。或是编出一些段子笑话供大家娱乐,我本人也曾喜欢在贴吧看段子和小说——贴吧又是休闲娱乐的平台。这次选题即为贴吧爬虫系统,有一部分原因便是出于我对贴吧的兴趣,更多的是想要熟悉现今比较流行的python语言和爬虫技术,在本次毕业设计中锻炼自己的学习能力和编程能力,也开阔自己的视野。
贴吧是结合百度搜索引擎建立的,,以下,它的涵盖目录相当广泛,包括社会,地区,生活,教育,娱乐明星,游戏,动漫,小说,体育,企业,可以说,生活中的方方面面都能找到对应的这么一个帖吧。在2015年贴吧开始疯狂商业化变现之前,吧主本身就是贴吧的普通用户,基本上任何合法用户都可以创建属于自己的贴吧,然后聚集起有相同兴趣爱好的网友。它曾经有十分庞大的用户数量,2014年贴吧的活跃用户曾达到2亿之多,如此多的用户产生的的信息量相当庞杂,以至于即使后来的“血友吧事件”,“魏则西事件”发生,使得百度贴吧失信于社会,用户量开始下滑;以及现今的抖音,今日头条,微博等各类社交平台的崛起抢走了贴吧相当一部分的用户,贴吧的用户量依然不可小觑,产生的信息量也依然巨大。这些信息中不乏许多有价值的信息,想要高效的获取这些信息就需要有好的检索方法。通用的搜索引擎检索出来的信息有一定的局限性,它的目标是尽可能大的网络覆盖率,返回的结果通常有大量我们不需要的内容,因此有必要开发出专门针对贴吧的聚焦爬虫,从而更高效迅速的获取我们所需要的信息。
多种语言都可以实现爬虫,如Java,python,php,C#,C/C 等,现今也已经有了多种爬虫框架,如基于Java的Nutch,webmagic,基于python的scrapy,pyspider,基于PHP的phpspider,基于C 的Cobweb等等,可供选择的爬虫框架相当多。结合具体题目,贴吧数据量级很大,效率,扩展性,可维护性是必须考虑的因素,还面临诸多问题:多线程并发,I/O机制,分布式爬取,消息通讯,判重机制,任务调度等,此时,开发语言的选取是有很重大意义的。而python对以上问题都有较好支持,因此这次采用的是基于python的Scrapy框架。
{title}2. 研究的基本内容与方案
{title}基本内容和目标:使用python环境进行开发,采用web应用的形式实现如下功能:
1、信息检索:对贴吧帖子进行检索,可以选择在特定贴吧里检索或是某几个贴吧或是全部贴吧里检索,可以按照关键词检索,可以按照用户名检索。
2、信息整理:信息检索结果的过滤、删除、排序,可以按时间,相关性,回复量排序。
3、信息展示:信息检索结果的浏览、导出并保存等。
拟采用的技术方案:使用python环境,scrapy框架,使用Seletor做数据提取和筛选,用Item类保存爬取到的数据再用Item Pipeline将爬取道德数据保存到MongoDB数据库,实现存储功能;界面的展示使用HTML css python。在实际的开发过程可能还会遇到反爬虫之类的问题,还需要进一步探索和学习,争取解决问题。
3. 参考文献-
《Python基础教程(第3版)》 Magnus Lie Hetland 人民邮电出版社
剩余内容已隐藏,您需要先支付 5元 才能查看该篇文章全部内容!立即支付