摘 要
随着互联网的迅速发展,互联网大大提升了信息的产生和传播速度,网络上每天都会产生大量的内容,如何高效地 从这些杂乱无章的内容中发现并采集所需的信息显得越来越重要。网络中的新闻内容也一样,新闻分布在不同的网 站上,而且存在重复的内容,我们往往只关心其中的一部分新闻,网络中的新闻页面往往还充斥着大量许多与新闻 不相关的信息,影响了我们的阅读效率和阅读体验,如何更加方便及时并高效地获取我们所关心的新闻内容,本系 统能够帮我们做到这一点。本系统利用网络爬虫我们可以做到对网络上的新闻网站进行定时定向的分析和采集,然 后把采集到的数据进行去重,分类等操作后存入数据库,最后提供个性化的新闻订阅服务。考虑了如何应对网站的 反爬虫策略,避免被网站封锁爬虫。在具体实现上会使用Python配合scrapy等框架来编写爬虫,采用特定的内容抽取算法来提取目标数据,最后使用Django加上weui来提供新闻订阅后台和新闻内容展示页,使用微信向用户推 送信息。用户可以通过本系统订阅指定关键字,当爬虫系统爬取到了含有指定关键字的内容时会把新闻推送给用 户。
[关键词]网络爬虫;新闻;个性化;订阅;Python
Abstract
|
|
|
With the rapid development of the Internet, the Internet has greatly enhanced the production and dissemination of information, the networkwill produce a lot of content every day, how to find and collectthe information we needed from these disorganized contentefficiently is more and more important. The news content on the network is thesame, the news is distributed on different sites, and there are many duplicate content, we only care about part of thenews usually. The network news pages areoften filled with a lot of news and information is not related that impact ourreading efficiency and readingexperience. How to more convenient and efficient access to the news we are concerned about the content, thissystem can help us to do this. This system uses the web crawler to collect news on the network site. And then toclassify data and other operations like delete the duplication,store data byuse the database, and finally providepersonalized news subscription service. This system has considered how to deal with the sit&s anti-reptile strategy, toavoid being blocked by the site crawler. In the concrete implementation, I will use Python with Scrapy framework towrite the crawler, then use a specificcontent extraction algorithm to extract the target data, and finally use Django and WeUI to provide news subscription background and news contentdisplay page, use WeChat to push information to users. Users can subscribe tothe specified keywords through the system, system will push thenews to the user when the crawler system crawled the contents contains thespecified keyword.
[Keywords] Web Crawler;News; Personalization; Subscription; Python
目录
摘 要 1
Abstract 2
第一章 引言 3
1.1 项目的背景和意义 3
1.2.1 个性化新闻服务现状 4
1.2.2 网络爬虫研究现状 4
1.2.3 项目的范围和预期结果 4
第二章 技术与原理 5
2.1 技术选型 5
2.2 相关原理介绍 7
第三章 系统需求分析 10
3. 1 新闻订阅系统用例析取 10
3.2 新闻订阅系统用例规约 10
第四章 新闻采集与订阅系统的设计 15
4.1 系统架构及原理 15
4.2 系统模块设计 17
第五章 新闻采集与订阅系统的实现 23
5.1 系统框架实现 23
5.2 爬虫采集模块实现 27
5.3 防反爬虫模块实现 28
5.4 爬虫存储模块实现 29
5.5 消息推送模块实现 30
5.6 消息订阅与展示模块实现 32
第六章 系统部署 39
第七章 总结与展望 42
7.1 总结 42
参考文献 44
致谢 45