日期:2020.02.01
博客期:140
星期六
【本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)】
所有相关跳转:
a.【简单准备】
b.【云图制作+数据导入】
c.【拓扑数据】
d.【数据修复】(本期博客)
e.【解释修复+热词引用】
f.【JSP演示+页面跳转】
g.【热词分类+目录生成】
h.【热词关系图+报告生成】
i . 【App制作】
j . 【安全性改造】
今天问了一下老师,好像是之前数据爬取的内容就不对,不应该爬取标签,我仔细想了一下,也确实不是,所以今天我们来爬取IT新闻里的高频词!
我大致分了下面几个步骤
1、选择想要爬取的网站
之前那个网站有标签,所以我按照那个爬的,实际上没有必要,随便一个IT新闻网站都可以爬的!而且上一次的爬取网站有很大的问题就是它不能加载太多数据,加载个200次,就基本卡死了!所以我们尽量要找到一个有页数下表的列表类型的网页,要不然就是有“下一页”或“下一篇新闻”类似的链接的网页。
下面是提供参考的网站:
(1)、IT之家(大概可以爬到700条数据,数据大致横跨7天,推荐每周爬取一次,并进行汇总查重,其中有非信息类新闻夹杂)
(2)、博客园(推荐,大概可以一次爬3000条数据,数据大致横跨2个月零4天,推荐隔2个月爬一次,其中有少量非信息类新闻夹杂,且单项数据的文字数目较少)
(3)、DoNews(这个是针对互联网的)
(4)、ZOL中关村在线(这个只有一页,数据横跨两周,推荐隔13天爬)
(5)、IT界(可以直接一次爬取14969项新闻,其中有少量非信息类新闻夹杂,仅提供一次性爬取,最早数据日期为2012-04-23)
(6)、51CTO(上次推荐的网站,有标签标记和关键索引)
(7)、走廊网(和上面一样是滚动式网站,一样的弊病,还有这个网站分类有IT类,但是内容不完全是IT相关的)
(8)、说IT资讯网(数据都是老数据了,2011年还行,我们要的是热词,不推荐)
国外IT新闻网站推荐博客地址:https://www.cr173.com/html/5311_1.html
2、开始针对于网站进行爬取(目标:获得文字内容和网址链接)
我最终还是决定爬博客园了(我爬我自己),因为数据量足够(虽然不及老师的要求10万,但以上几个网站的数据量都那样吧,想要大量新闻数据...也说不定还有第三次重新数据爬取的博客呢!)
分析博客园的新闻链接地址
第一页链接:https://news.cnblogs.com/
第二页链接:https://news.cnblogs.com/n/page/2/
第n(n>=2&n<=100)页链接:https://news.cnblogs.com/n/page/{$n}/
来分析数据项
需要爬取标题、内部内容和本地链接,如果需要以“下一篇”的形式做数据跳转,那你还需要爬取下一篇的链接地址
爬取数据格式如下:
1 import codecs 2 3 4 class News: 5 title = "" 6 info = "" 7 link = "" 8 9 def __init__(self,title,info,link): 10 self.title = title 11 self.info = info 12 self.link = link 13 14 def __toString__(self): 15 return self.title+"\t"+self.info+"\t"+self.link 16 17 def __toFile__(self,filePath): 18 f = codecs.open(filePath, "a+", 'utf-8') 19 f.write(self.__toString__() + "\n") 20 f.close()