腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

news/2024/5/8 14:52:25/文章来源:https://blog.csdn.net/junli_chen/article/details/50569022

0 前言

先说说看这篇博客你能知道什么:1 腾讯、网易、新浪不同新闻的地址格式以及评论内容的地址格式(返回数据为json的异步接口);2 一些比较通用的设计方法,对软件设计的菜鸟可能有帮助;

之前也说了要写这篇博客,现在终于写出来了。我的毕业设计的指导老师说毕设论文的字数不够……所以我决定把这些本不应该出现在论文中的实现细节凑到论文中。至于下面说到的东西要解决什么问题,各位可以先看看这个网站(我毕设的初步结果,目前还在优化中,包括代码结构还有UI设计):http://news.reetsee.com/

凡是这篇博文中出现超链接的地方,可以放心点击,新的页面会在新标签中打开而不会直接在当前的标签打开。

这个网站要实现以下功能:从腾讯新闻、网易新闻、新浪新闻中(当然以后可能会更多其它新闻网站)通过代码自动分析出哪些新闻内容是相似的,然后把相似的内容组织到一起,例如三个网站都有“北京成功申奥”这样的新闻,这个网站会自动把三条新闻归到一起,然后把三个新闻网站的热门评论都下载下来,按照时间排序,最后通过代码计算出一段“评论概括”,因为有的人很懒,看新闻基本就是看了标题然后看评论,看评论可能只看热门评论,看热门评论可能还看那种被顶得最多的,所以我就这么帮下这些懒人了……哈哈哈。

网站打开得有点慢,这个是因为我的代码写得不够好,在百度也看到很多牛逼的技术内容,回头看看这个毕设的各种设计,觉得有点丢脸,迟点重构····目前先凑合着用。咳咳,跑题了,这个网站的所有内容可以说都是通过爬虫抓取下来了,我的工作只不过是将爬虫获取的内容进行了组织然后重新展现。

这篇博客的内容仅仅是说一下爬虫是怎么写的,完全不会涉及分析新闻相似的算法是怎么样的以及对热门评论进行概括的算法是怎么样的。

那么下面开始。

1 新闻格式规范化

我在同学介绍下选择了Python的Scrapy爬虫框架进行爬虫编写(最近我自己用PHP写了个爬虫框架Phpfetcher,可以参见这里:http://blog.reetsee.com/archives/366)。要在自己的网站上展示新闻内容,就应该将下载好的新闻按照统一的格式处理好,这样前端(网页端)才能够方便地处理、展示。一篇新闻有以下几个需要关注的地方:

  1. 新闻标题
  2. 新闻正文
  3. 新闻时间

 由于要知道新闻的来源以及对应的评论,所以加上这两项:4. 新闻来源,5. 新闻评论地址。

那么最终在我这里,一篇处理后的新闻格式应该是这样的(这里使用类似json的格式表示,“[]”表示一个数组,“{}”表示一个字典):

01 {
02     'source'   '来源网站',
03     'date'     '时间(长度8位,如20140501)',
04     'contents' : {
05             'link'    '新闻详细内容页面的地址',
06             'title'   '新闻标题',
07             'passage' '新闻正文',
08              },
09     'comments' : {
10             'link' '新闻对应的评论页面地址',
11              },
12 }

如果有人问既然已经有了新闻的地址页面,为什么还要将新闻标题、新闻正文这些内容保存到本地呢?因为要在本地对新闻进行分类,就必须将这些内容下载下来。

上面的格式只是一个初步的统一格式,最终的格式相比这个可能会有小变化,这个后面再说。

2 评论格式规范化

要在我的网站对评论进行展示,就要有统一的格式,通常评论的要素包括三个:

  1. 用户名
  2. 评论时间
  3. 评论内容

 由于我要标注评论的来源,所以再加一个:4. 评论来源,那么最终被我处理过的评论格式如下:

1 {
2     'source' '来自哪个新闻网站',
3     'user' '用户名',
4     'time' '10位长度的时间戳'//转换成时间戳是为了方便以后排序
5     'content' '评论内容'
6 }

那么最终重新按照时间排序后的评论列表格式应该是像下面这样的:

01 [
02     {
03         'source' '',
04         'user' '',
05         'time' '',
06         'content' ''
07     },
08     {
09         'source' '',
10         'user' '',
11         'time' '',
12         'content' ''
13     },
14     {
15         'source' '',
16         'user' '',
17         'time' '',
18         'content' ''
19     },
20  
21     ...
22 ]

这里先规范好最终的评论格式,下面针对评论部分的讲解设计就有头有据了。

另外就是评论并不需要爬虫下载!因为评论是实时更新的,不像新闻,基本上发布了就不怎么变化了。因为评论的内容是在用户点击某条新闻后才通过HTTP请求获取的。

3 URL规则分析

3.1 腾讯新闻

其实整个分析下来,我觉得腾讯的URL地址格式是最容易弄清楚的,对于下面的内容,打了黄色背景色的是一个分析说明,其中用了红色字体的代表这个地方是依据新闻的不同而变化的,聪明的你们一定一看就知道是什么意思了。在看下面的内容时,可以自己把这些URL敲到地址栏中尝试一下,其次是使用CHROME或者百度浏览器的同学,强烈建议安装“FeHelper”这个插件,地址是:https://chrome.google.com/webstore/detail/web%E5%89%8D%E7%AB%AF%E5%8A%A9%E6%89%8Bfehelper/pkgccpejnmalmdinmhkkfafefagiiiad?hl=zh-CN,这个东西的作用是能够直接将JSON格式的内容美化成很漂亮的非常容易读到的内容,例如这样:
fehelper
这个是其中一个功能,还有很多非常赞的功能。
回到正文。
新闻(非专题类)地址格式   :http://news.qq.com/a/8位日期/新闻ID.htm,例如:http://news.qq.com/a/20140113/012246.htm。
新闻页面获取评论数量的方法:http://coral.qq.com/article/评论页ID(即cmt_id)/commentnum?callback=_cbSum&source=1&t=随机数(怀疑是时间戳,但是好像没什么用),例如:http://coral.qq.com/article/1004703995/commentnum?callback=_cbSum&source=1&t=0,实际上这个用不到。
新闻的所有评论页面地址      :http://coral.qq.com/评论ID(即cmt_id,例如:http://coral.qq.com/1004703995。
其中正常的评论链接格式如下:http://coral.qq.com/article/评论页ID(即cmt_id)/comment?commentid=起始ID&reqnum=显示数目&tag=&callback=mainComment&_=时间戳+3位随机整数(共10+3=13位),http://coral.qq.com/article/1004703995/comment?commentid=0&reqnum=20&tag=&callback=mainComment&_=1389623278900。实际上这个用不到。
热门评论的链接格式如下      :http://coral.qq.com/article/评论页ID(即cmt_id)/hotcomment?reqnum=显示数目&callback=myHotcommentList&_=时间戳+3位随机整数(共10+3=13位),http://coral.qq.com/article/1004703995/hotcomment?reqnum=10&callback=myHotcommentList&_=1389617814425。
要注意的是,评论页ID是大于10^9的;新闻ID不是一个数字,注意真的不是一个数字!而是一个只包含数字的字符串,例如它可能是“000123”。
现在开始分析一下腾讯新闻评论中的字段,比起网易新闻的简直是太臃肿了,那么就直接说关心的内容了(请直接点击上面热门评论的那条URL、或者复制到你的地址栏,回车后查看结果,与下面的内容比对):
  1. targetid就是新闻的id;
  2. time就是时间戳,有了这个可以转换成公元时间;
  3. content就是回复的内容(这位网友真是热心回复这么多);
  4. up就是人家给的赞的数量;
  5. userinfo中的nick就是用户名了,后面竟然还有对应的腾讯微博的用户信息。
01 {
02     id: "5828439023791190273",
03     targetid: 1004703995,
04     parent: "0",
05     replyuser: "",
06     replyuserid: 0,
07     timeDifference: "01月13日 18:15:50",
08     time: "1389608150",
09     content: "很高兴看到中央军委日前印发《关于军队贯彻落实〈党政机关厉行节约反对浪费条例〉的措施》,规定今后所有公务用车采购国产自主品牌,其实不光是汽车,像电脑、打印机、扫描仪、复印机、服务器、网络设备、软件等产品更要带头采购国产自主品牌,防止军队内部机密资料遭受国外网络黑客攻击!希望中央军委、中国海陆空军队能够切实担负起捍卫国土、捍卫钓鱼岛的职责!其实中国的部队,大部分军官素质是好的,但也有相当一部分军官也十分腐败,作风腐化堕落,为人霸道欺负新兵,道德品质极差;艰苦奋斗、勤俭建军的思想有所淡化;革命意志、进取精神有所退化;铺张浪费、大手大脚现象有所抬头。加强军队的反腐倡廉建设对于巩固党的执政地位、树立中国军队的新形象、提升国防战斗力十分重要。要保卫好祖国国土完整,加强军队作风建设和反腐倡廉建设责任重大。“物必自腐,而后虫之”,如果任由各种腐败作风在军队系统漫延,将使中国军队的整体战斗力、中国军官的整体政治素质大大下降,后果不堪设想!希望中央军委一定要在全军大力开展创先争优活动,加强中国军人综合素质建设与作风建设,全面推广党风廉政建设巡视检查制度,大力清除军队内部的腐败分子,大力整顿军队内部的“吃喝玩乐嫖赌、卖官鬻爵收受贿赂违规提拔干部”等各类不正之风,营造“勤于学习、善于学习、钻研技术、廉洁从业”的良好氛围,铸造一支英勇善战、战斗力凝聚力号召力超强的中国军队!同时中国军队应该坚持人性化细节化管理,对于长期夫妻两地分居的军官、军人要免费发放性慰器,防止他们流入社会进入嫖娼卖淫场所影响中国军队形象!希望中国能够集国家和中华民族的坚强意志,大力加强自主创新型国家建设,努力攻克在大型民用飞机、军用飞机、导弹系统、航空母舰等制约国家核心技术的关键高端产业领域,早日使我国的民用与军用飞机、导弹、航空母舰早日上市,彻底摆脱对欧洲、美国、日本在先进技术上的制约,成为一个装备制造强国!中国不能搞、不会搞军事扩张但也绝不能太懦弱,一定要夯实军事装备,提升军队战斗力,保护好国土、海域的安全,捍卫民族尊严!",
10     up: "91",
11     rep: "0",
12     type: "2",
13     hotscale: "3",
14     checktype: "2",
15     checkstatus: "1",
16     isdeleted: "0",
17     tagself: "",
18     taghost: "",
19     source: "1",
20     userinfo: {
21         userid: "21059616",
22         uidex: "ec52a391823814524e8446efa3bd6a48d9",
23         nick: "炎黄子孙中国梦",
24         head: "http://q1.qlogo.cn/g?b=qq&k=ACz0AuPMwiaSfHTmIGWbIOw&s=40&t=0",
25         gender: "1",
26         viptype: "0",
27         mediaid: 0,
28         region: "中国:安徽:宣城",
29         thirdlogin: 0,
30         wbuserinfo: {
31             name: "cjppjc17",
32             nick: "炎黄子孙中国梦",
33             url: "",
34             vip: 0,
35             ep: 0,
36             brief: "",
37             identification: "",
38             intro: "",
39             liveaddr: {
40                 country: "1",
41                 province: "34",
42                 city: "18",
43                 area: ""
44             },
45             level: 0,
46             classify: ""
47         },
48         commentnum: "283",
49         commentednum: "168",
50         upnum: "2108"
51     }
52 },

还记得在“评论规范化”中定的格式吗?现在我们就从上面的json格式找到一个将其规范化的方法,假设热门评论连接中返回的json格式的变量名为js,i为遍历时的下标,那么用下面这个方法进行评论格式的规范化

1 {
2     'source' 'tencent',
3     'user' : js['data']['commentid'][i]['userinfo']['nick'],
4     'time' : js['data']['commentid'][i]['time'], //原格式就是10位时间戳了不用转换
5     'content' : js['data']['commentid'][i]['content']
6 }

 

腾讯新闻的算是搞掂了。

3.2 网易新闻

新闻(非专题类)地址格式   :http://news.163.com/年份/日期(四位)/数字/新闻ID.html,例如http://news.163.com/14/0114/19/9IISVTCG0001124J.html。
新闻页面获取评论数量的方法:查找”totalCount“就是评论数目,新闻ID就是”threadId“,讨论版面就是”boardId“,这个js是inline的,直接就放到网页中了:
01 <script type="text/javascript">
02     if (typeof isForceShowComment != "undefined") {
03         isShowComments = isForceShowComment;
04     };
05     function tieInit() {
06         tie_load({
07                     urs: "http://img1.cache.netease.com/utf8/microblog/urs/urs1.0.3.js",
08                     tie: "http://img1.cache.netease.com/utf8/tie/tieanywhere2.6.6-min.js"
09                 },
10                 function() {
11                     var replyCount = 10068,
12                             totalCount = 59215,
13                             threadId = "9IISVTCG0001124J",
14                             boardId = "news_guonei8_bbs",
15                             host = tieChannel,
16                             tId = tId;
17                     NTES(".js-tielink").attr("href""http://comment."+ host + ".163.com/" + boardId + "/" + threadId + ".html")
18                     NTES(".js-tiecount").attr("innerHTML", totalCount);
19                     NTES(".js-joinCount").attr("innerHTML", TieAnywhere.formatNumber(totalCount.toString(), 3));
20                     NTES(".js-bjoinCount").attr("innerHTML", TieAnywhere.formatNumber(totalCount.toString(), 3));
21                     NTES(".js-actCount").attr("innerHTML", TieAnywhere.formatNumber(replyCount.toString(), 3));
22                     NTES(".js-bactCount").attr("innerHTML", TieAnywhere.formatNumber(replyCount.toString(), 3));
23                     new TieAnywhere.Tie({
24                         wraper: NTES("#tieArea"),
25                         threadId: threadId,
26                         boardId: boardId,
27                         host: host,
28                         isShowComment: isShowComments,
29                         isStrict: isStrict,
30                         tId: tId
31                     });
32                 })
33     };
34     tie_ready(function() {
35         if (!window.NTES) {
36             tie_load({ lib: "http://img1.cache.netease.com/cnews/js/ntes_jslib_1.x.js" }, function() {
37                 tieInit();
38             }, "GBK")
39         else {
40             tieInit();
41         };
42     });
43 </script>
44 <!--tie end-->

 

新闻的所有评论页面地址:http://comment.news.163.com/boardId/新闻ID.html,例如http://comment.news.163.com/news_guonei8_bbs/9IISVTCG0001124J.html。关于boardId及新闻ID,请参见上面一项。
在该页面下评论数目为:很有可能在data变量的tcount中。即“data.tcount”
其中正常的评论链接格式如下:http://comment.news.163.com/cache/newlist/news_guonei8_bbs/9IISVTCG0001124J_1.html,但是会有乱码,评论之间通过”return tiePage.showPage(4);
热门评论的链接格式如下:http://comment.news.163.com/data/boardId/df/新闻ID_1.html,例如http://comment.news.163.com/data/news_guonei8_bbs/df/9IISVTCG0001124J_1.html,这个评论页面有点不同,它返回的不是一个json文件,而是一个Javascript的变量,变量的值就是“=”号后面的内容,它是一个json,因此要更好地观察具体的内容,你应该新建一个文件(例如comment.json),然后把“=”之后,“;”之前的内容中复制出来粘贴到comment.json中,接着用浏览器打开comment.json文件。然后你会看到“热门评论”在’hotPosts’中(内容太长了使用Ctrl+f搜索一下hotPosts),而“精彩盖楼”在’buildPosts’中。评论之间通过”return tiePage.showHotPage(4);“来实现翻页,感觉页面是缓存起来的……一次全部下载完。网易的评论编码好像是UTF-8的,如果乱码那么可以对浏览器选择编码为UTF-8。在实际处理文本内容的时候注意好编码问题。
现在开始分析一下网易新闻评论中各个字段含义,我给出两个例子:
  1. 前面的数字1表示1楼;
  2. f是显示的内容,对应分别为“网易XX网友”,用户ID,用户IP,没有用户ID的就显示“网易XX网友”,连“网易XX网友”都没有的就显示IP地址,我猜的;
  3. v是支持数量;
  4. u不知道是什么粗略看一眼值全部都是’u’;
  5. d是当前评论的新闻id;
  6. t就是发表评论的时间啦;
  7. b就是评论的内容;
  8. a就是表示这个楼是不是最后一层楼的;
  9. p就是上面那个div标签的id;
  10. n怀疑是网易帐号或者用户名;
  11. l不知道是什么;
  12. ip就是ip了。
01 {
02 1: {
03     f: "网易日本手机网友 <span id=9KUDRCJ8 class=cGray>ip:126.255.*.*:</span>",
04     v: "11014",
05     u: "u",
06     d: "9KUD5BUN00011229",
07     t: "2014-02-13 03:34:08",
08     b: "媽的,這傻逼幹嘛不索取精液流失費?",
09     a: "0",
10     p: "9KUDRCJ8",
11     n: "chinese_cc@163.com",
12     l: "0",
13     ip: "126.255.*.*"
14 }
15 },

另外一个例子:

01 {
02 1: {
03     f: "网易山东省济南市手机网友 [<a href=''>逗狗儿玩呵呵</a>]: ",
04     d: "9KUD5BUN00011229",
05     b: "这么一搞这女的以后还能嫁出去?够阴的。",
06     a: "0",
07     n: "逗狗儿玩呵呵",
08     l: "0",
09     tsn: "8058245774",
10     ip: "113.128.*.*",
11     timg: "http://mimg.126.net/p/butter/1008031648/img/face_big.gif",
12     v: "9219",
13     u: "u",
14     t: "2014-02-13 04:04:49",
15     p: "9KUFJMLA",
16     tid: "4983565181079566873"
17 }
18 },

 

有没有觉得网易新闻的评论内容中key都很短?而且几乎没有冗余信息。
接下来就是将上述的评论进行格式规范化,假设这个json变量名为js,i为遍历时的下标:
1 {
2     'source' 'netease',
3     'user' : js['hotPosts'][i]['1']['n'],
4     'time' : js['hotPosts'][i]['1']['t'], //原格式“%Y-%m-%d %H:%M:%S”,要转换成10位长度的时间戳
5     'content' : js['hotPosts'][i]['1']['b']
6 }

 

要注意的是,上面的’n’不是一定存在的,因为如果有N楼,那么除了最后一层楼外,从1~N-1楼都是没有’n’标签的。呼,网易新闻的也搞掂了。

3.3 新浪新闻

新浪(评论好像是GBK编码)
新浪新闻的URL规则好复杂,推敲了很久才搞明白。
新闻(非专题类)地址格式:http://news.sina.com.cn/字母c或者w(c表示和中国有关,w表示和中国没有直接关系的世界新闻)/年-月-日/小时分钟(4位数字)及新闻ID的后8位.shtml,例如http://news.sina.com.cn/c/2014-01-19/021929283928.shtml。新浪新闻的地址还有一些地址格式有“变种”,例如:http://news.sina.com.cn/c/sd/2014-01-24/152429336501.shtml,http://news.sina.com.cn/w/p/2014-01-24/154829336676.shtml,还有诸如http://weather.news.sina.com.cn/news/2014/0124/072298232.html和http://mil.news.sina.com.cn/2014-01-24/0839761572.html。
所以综合以上所述,最完整的地址格式应该是:http://[类别.]news.sina.com.cn/一堆可能出现的东西/日期(注意这里的日期格式可能是“年-月-日”也可能是“年/月”)/小时分钟(4位数字)及新闻ID的后8位.shtml或者html
有点蛋碎的感觉,不过没事,这些都是一个正则表达式就搞掂的事。
新浪新闻有一个新闻ID和评论通道,这两个东西都比较麻烦,但又很关键,我这里先说获取的方法,下面就知道用途了。以下是新闻ID获取方法和评论通道获取方法,在新闻详细页面看到找到以下两行:
1 <meta name="comment" content="kj:2-1-9122947">
2 <meta name="sudameta" content="comment_channel:kj;comment_id:2-1-9122947">

 

comment_id同时也是官方所谓的newsid,comment_id的组成是:channelId-1-新闻Id后8位,其中中间的1还不知道是什么意思,comment_channel就是评论通道。
新闻页面获取评论的方法:http://comment5.news.sina.com.cn/page/info?format=格式(可选json,js)&channel=板块(通常是2个字母)&newsid=评论ID(即上面的comment_id)&group=0(默认为0)&compress=1&ie=gbk&oe=gbk&page=第几页(数字越大评论越旧)&page_size=缓存的评论数(并非展示的评论数)&jsvar=requestId_貌似是个随机整数(非常不确定),例如http://comment5.news.sina.com.cn/page/info?format=json&channel=gn&newsid=1-1-29283928&group=0&compress=1&ie=gbk&oe=gbk&page=1&page_size=100&jsvar=requestId_24959748,返回的内容是所有的评论,热门评论在“hot_list”中,关联的新闻信息在“news”中,正常的评论在“cmtlist”中,另外包含一些在“replydict”中的东西,不知道是什么。其中评论数目在“count”的“show”中
对应的所有评论页面地址:http://comment5.news.sina.com.cn/comment/skin/default.html?channel=板块(见上面的解释)&newsid=评论ID,http://comment5.news.sina.com.cn/comment/skin/default.html?channel=gn&newsid=1-1-29283928。
最后把得到的评论的格式规范化。假设这个json变量名为js,i为遍历时的下标:
1 {
2     'source' 'sina',
3     'user' : js['hot_list'][i]['nick'],
4     'time' : js['hot_list'][i]['time'], //原格式“%Y-%m-%d %H:%M:%S”,要转换为10位时间戳
5     'content' : js['hot_list'][i]['content']
6 }

 

4 最终格式及补充说明

在新闻格式规范化里面提到了那个格式不是最终的格式,原因就在于实现http://news.reetsee.com(或者我以后直接叫吹水新闻……)功能的时候,当点击了新闻标题时,评论应该是实时获取的(不应该是爬取新闻一样一开始就使用爬虫下载下来),所以我们需要直接拿到评论的具体内容,不能通过评论页面去获取,而应该直接使用获取新闻评论的json接口(就是上面所有的返回数据格式为json的地址),那么就需要我们根据规则直接拼出接口的URL,这些URL中可能会有日期、新闻ID、评论ID、板块ID等不同的变量,所以我们不妨把它直接放到新闻格式规范化的结果中。为什么不直接等点击链接的时候再到新闻页面获取这些ID?因为这样网速会太慢了。
根据实际需求,腾讯、网易、新浪的新闻保存格式如下:
腾讯
01 {
02     'source'   'tencent',
03     'date'     '20140214',
04     'newsId'   '015412',
05     'cmtId'    '1004980094',
06     'contents' : {
07             'link'   'http://news.qq.com/a/20140214/015412.htm',
08             'title'  '哈尔滨一夜清查酒店洗浴等2700余家',
09             'passage''正文内容'
10              },
11     'comments' : {
12             'link' 'http://coral.qq.com/1004980094',
13              }
14 }

 

网易

01 {
02     'source'   'netease',
03     'date'     '20140214',
04     'newsId'   '9L2525NG0001124J',
05     'cmtId'    '9L2525NG0001124J',
06     'boardId'  'news_guonei8_bbs',
07     'contents' : {
08             'link'    'http://news.163.com/14/0214/14/9L2525NG0001124J.html',
09             'title'   '哈尔滨4800余警力一夜清查酒店洗浴等2700余家',
10             'passage' '正文内容'
11              },
12     'comments' : {
13             'link' 'http://comment.news.163.com/news_guonei8_bbs/9L2525NG0001124J.html',
14              },
15 }

新浪

01 {
02     'source'    'sina',
03     'date'      '20140214',
04     'newsId'    '1-1-29471498',
05     'cmtId'     '1-1-29471498',
06     'channelId' 'gn',
07     'contents'  : {
08             'link'    'http://news.sina.com.cn/c/2014-02-14/142829471498.shtml',
09             'title'   '哈尔滨4800余警力一夜清查2700家酒店洗浴场所',
10             'passage' '正文内容',
11               },
12     'comments'  : {
13             'link' 'http://comment5.news.sina.com.cn/comment/skin/default.html?channel=gn&newsid=1-1-29471498',
14               },
15 }

 

上面的格式其实一看就是有问题的,因为扩展性太差了,这也是我第一次设计囿于时间、经验等造成的,各位自己设计的时候就可以设计得更加好。
这篇东西敲了好久,我想想怎么把文字表述转换一下……使它看起来比较书面一些……然后放到论文中凑凑字数什么的……
过一段时间还会有一篇将毕业设计的设计过程的,那篇也存了草稿很久了,有空再看什么时间弄一弄。
祝大家五一节快乐!放假期间还在看这篇博文的人,都是宅男啊。(那写这篇东西的我呢!?我了个去)
转载请注明: 吹水小镇 | reetsee.com
原文链接地址: http://blog.reetsee.com/archives/237

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_710745.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统架构----(2)大型网站架构之架构模式

大型网站架构之架构模式什么是模式呢&#xff1f;每一个模式描述了一个再我们周围不断重复发生的问题及问题解决方案的核心&#xff0c;这样你就能一次次重用该方案而不必去做重复的工作&#xff0c;可见模式的关键在于可重复性。网站架构模式的目标&#xff1a;面临高并发访问…

系统架构(1)---单机至亿级流量大型网站系统架构演进

阶段一、单机构建网站网站的初期&#xff0c;我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器&#xff0c;如tomcat、jetty、jboos&#xff0c;然后直接使用JSP/servlet技术&#xff0c;或者使用一些开源的框架如mavenspringstructhibernate、mavenspringspri…

android系统(9)---android工具网站

网站介绍&#xff1a;http://www.androiddevtools.cn/AndroidDevTools收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范&#xff0c;免费的设计素材等。欢迎大家推荐自己在Android开发过程中用的好用的工具、学习开发教程、用到设计…

外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站之前在CentOS虚拟机上安装了LAMP&#xff0c;搭建起了自己的web服务器&#xff0c;具体流程见&#xff1a; http://www.linuxidc.com/Linux/2012-06/63847.htm但是&#xff0c;在本机访问虚拟机的时候&…

如何能自动上传公众号文章到网站里面!

如何能自动上传公众号文章到网站里面&#xff01; 听语音 |浏览&#xff1a;93|更新&#xff1a;2018-06-09 13:30|标签&#xff1a;网站 微信公众号 1 2 3 4 5 分步阅读 百度经验:jingyan.baidu.com 微信文章一直是各大网站建站是的优质内容&#xff0c;很多站长为了…

智能硬件(1)---十个智能硬件中文网站

十个智能硬件中文网站不论你是智能硬件从业者&#xff0c;还是智能硬件爱好者&#xff0c;不妨统一称之为“智能硬件er”。在信息泛滥的时代&#xff0c;专注于智能硬件&#xff0c;能提供好的资讯、观点、资源的平台屈指可数。雷科技小编为您收集了值得关注的十大智能硬件中文…

天空象棋——网站与用户

上一篇文章《天空象棋——冲上云霄》介绍了如何把天空象棋的算法服务发布到Azure上&#xff0c;以及提供了一个使用该云服务的象棋客户端。这次的任务是为天空象棋在Azure上创建一个网站&#xff0c;并且提供用户注册、登陆的功能。涉及以下知识点&#xff1a; 在Azure上创建网…

网站前端,后端设计,系统设计常识

系统设计第一次课听课笔记 网站分为前端和后端 前端就是大家看到的网站界面&#xff0c;类似美女的外表&#xff1b; 后端就是网站的架构设计&#xff0c;类似美女的内心&#xff0c;肚子里有多少东西&#xff0c;无法直接看出来。 后端工程师很苦逼&#xff0c;网站有问题&a…

大型网站图片服务器架构的演进

在主流的Web站点中&#xff0c;图片往往是不可或缺的页面元素&#xff0c;尤其在大型网站中&#xff0c;几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中&#xff0c;也会历经很多曲折甚至是血泪教训&#xff08;尤其是早期规划不足&am…

拳王虚拟项目公社:如何通过SEO优化分析建网站赚钱?

这几年其实几乎已经很少有人再提起seo这个行业了&#xff0c;也有很多人认为现在已经没有人在用搜索引擎的了&#xff0c;也有一个seo从业者片面的认为pc端的网站优化叫做seo&#xff0c;移动端就不属于seo范畴了&#xff0c;其实聊这些东西本身没有任何的意义。 其实百度的DA…

拳王虚拟项目公社:看懂虚拟资源整合收集,资源网站的盈利玩法

之前有拳友咨询&#xff1a;现在还能通过信息差赚钱吗&#xff1f; 能&#xff0c;这种生意太多了。 举个栗子&#xff1a; 有很多人都充了爱奇艺的VIP会员&#xff0c;因为不付费很多内容都看不了。 在爱奇艺官方平台上&#xff0c;年付的黄金会员价格是178&#xff0c;但…

拳王虚拟项目公社:解除网站禁止复制的插件,Simple Allow Copy V 0.8.2

拳王上一篇文章写了&#xff1a;小红书种草博主如何赚钱&#xff1f;从养号到运营全攻略 我们来回顾一下核心重点。 如何做一个种草博主呢&#xff1f; 1、定位与机制 2、养号 3、内容 4、时间 今天拳王给大家分享一个实用技能&#xff0c;许多伙伴应该也会碰到这种情况&am…

拳王虚拟项目公社:一款解除网站禁止复制的插件,Simple Allow Copy V 0.8.2

第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 第五步&#xff1a; 第六步&#xff1a; 1.百度等文库解除复制不能保证都成功。如果是可编辑文档&#xff0c;可以解除&#xff1b;如果是图片或图片生成的PDF 文档&#xff0c;不能解除。 …

seo优化:把百度放进数据库

seo优化:把百度放进数据库有时候我想&#xff0c;能把百度的数据放进数据库&#xff0c;用广大程序员熟悉的sql语句查询百度的搜索结果应该是一个不错的主意。在这方面Google早已经跨出了一大步&#xff0c;利用Google Search API 把Google的搜索结果放进数据库是很容易办到得。…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂&#xff1a;一边搜索&#xff0c;一边看PageRank下载地址&#xff1a;多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用&#xff0c;回复和我讨论了我的结论。有赞成的&#xff0c;有反对的&#xff0c;有鼓励的&…

使用XAMPP轻松建站(上)

LAMP (Linux Apache MySQL PHP) 作为与Windows、IIS和.NET等专有和商业软件进行竞争的一种开源软件解决方案&#xff0c;以其特有的安全、快速、易用、易于开发以及大量的开源代码&#xff0c;受到了人们越来越多的关注。特别是近几年来发展迅速&#xff0c;已经成为Web 服务…

使用XAMPP轻松建站(下)

【导读】LAMP (Linux Apache MySQL PHP) 作为与Windows、IIS和.NET等专有和商业软件进行竞争的一种开源软件解决方案。规避了LAMP的复杂、繁琐&#xff0c;XAMPP提供了一种轻松建设网站的途径。本文将介绍基于XAMPP的内容管理系统和论坛系统的建设。 论坛系统——Discuz! …

zero ecilpse下载_推荐10个免费图片下载网站,助你摆脱找图烦恼!建议收藏

无论是做设计、自媒体还是SEO推广&#xff0c;我们都需要各种图片。而且还是要清晰的&#xff0c;因为图片的质量会直接影响到用户的阅读体验。那么我们去哪找那么多高质量图片呢?相信很多人会从百度上快速低成本的去获取&#xff0c;以前可能没什么问题。但现在这种找图片的方…

为啥程序员下班后只关显示器从不关电脑?看看各大网站的答案~

本文综合自&#xff1a;csdn原文&#xff1a;https://blog.csdn.net/csdnsevenn/article/details/87887552慕课网原文&#xff1a;https://www.imooc.com/article/30549首百问答的答案&#xff1a;jingmentudou因为你永远不知道什么时间会被叫醒。开个远程就能避免半夜去公司了…

大型网站架构系列:电商网站架构案例(1)

大型网站架构系列&#xff1a;电商网站架构案例(1) 大型网站架构是一个系列文档&#xff0c;欢迎大家关注。本次分享主题&#xff1a;电商网站架构案例。从电商网站的需求&#xff0c;到单机架构&#xff0c;逐步演变为常用的&#xff0c;可供参考的分布式架构的原型。除具备功…