顶级娱乐
自学网-焦大顶级娱乐
学习及免费pt138.com下载

当前位置: 顶级娱乐 > SEO基础入门 >

奇商:站群程序DEMO开发

时间:2016-11-07 17:36来源:未知 作者:雪豹 点击:
用过两个站群程序,都是从外面买的,不是自己的,多多少少在某些地方会有限制,当然想实现某些个性化的需求也是没办法搞的,这对于崇尚自由与开源的本渣渣是接受不了的,本着不折腾会死的原则,不如自己写一套,能不能赚钱另说,先折腾起来是关键。

  用过两个站群程序,都是从外面买的,不是自己的,多多少少在某些地方会有限制,当然想实现某些个性化的需求也是没办法搞的,这对于崇尚自由与开源的本渣渣是接受不了的,本着不折腾会死的原则,不如自己写一套,能不能赚钱另说,先折腾起来是关键。

 

seo站群
 

  结构

 

  一套站群程序有哪些关键节点?

 

  数据抓取(快速、海量)

 

  抓取内容类型

 

  抓取内容来源

 

  抓取数据入库

 

  数据存储、查询(性能)

 

  数据库的选择

 

  不用类型的内容存在什么地方

 

  数据关联逻辑、数据读写性能

 

  WEB框架(轻量、可个性化定制)

 

  模板引擎

 

  demo版本的解决方案

 

  web框架、模板引擎

 

  站群下的各网站,仅用于信息的展示,无需其他乱七八糟的功能,所以框架选轻的就可以,能展示信息就够用。且本渣渣写python比写php溜一些,所以选择基于python的flask作为web框架。

 

  flask官网文档引用jinja2模板引擎,所以我这也顺其自然用的jinja2

 

  页面分三个类型:首页、频道页、详情页

 

  抓取内容类型、来源

 

  内容类型分为:

 

  文本数据

 

  抓取百度搜索,搜索结果正文

 

  抓取百度新闻,搜索结果正文

 

  抓取百度搜索,搜索结果摘要

 

  问答数据

 

  抓取百度知道,搜索结果正文

 

  图片数据

 

  360图片搜索,原始图片地址及360缓存地址

 

  视频数据

 

  视频资源接口

 

  抓取方式

 

  开始网站程序和爬虫程序都放在一台韩国的机子上,但韩国机子抓取国内网站数据太慢,随后将爬虫程序分离,放在本地运行,抓回来的数据在传到韩国主机。

 

  数据处理

 

  因为希望尽可能保证每个站群下的网站都具备可读性强、与关键词高度相关的内容,就是在外表上跟单站无任何区别。所以提取网页中的完整正文,并过滤掉乱七八糟的内容,一个关键词下的多个相关内容,已经做了关联,在网页上可以随便调用。

 

  也就是说,一个词,可以展现N条跟这个词相关的完整正文信息、摘要、视频信息、图片信息、问答信息,只能性能上能够满足

 

  数据存储

 

  一个频道下有N个关键词,关键词数据和对应的频道数据放在Mysql;

 

  爬虫围绕每个关键词抓取内容,抓取内容存放在mongodb,每个内容类型分为一个集合。

 

  从mysql中调用关键词逻辑,通过关键词id,从mongodb各个集合中获取所需要的数据

 

  nginx、flask设置

 

  nginx配置文件绑定多个域名到web主程序目录;

 

  PC站和移动站使用不同模板,nginx识别访客UA做移动跳转适配;一个nginx配置文件下的域名,可单独为其配置title、description、模板调用参数等,保证每个域名、每个页面都是独立的TD、独立的正文内容

 

  后续问题

 

  目前站群程序仅仅是一个demo版本,充其量就是个玩具,已经可以上站。但根据本渣渣经验,估计抓取关键词数据上了50万后,程序估计就跑不动了,因为数据查询性能太渣渣。

 

  所以预计本渣渣还需要解决如下问题:

 

  1、数据抓取效率极度低下

 

  按一个关键词需要抓取5条百度搜索结果正文、5条新闻搜索正文、5张图片、5个问答数据、3条视频,还有各类搜索引擎相关搜索和下拉关键词,需要抓取的内容量大,且只有本地一台机子在抓数据,效率还是太慢。

 

  所以考虑在国内布置多台机子,抓取不同的数据,分发给不同的机子来负责抓取,最后所有机子抓取的数据都汇总到存储数据的机子上。

 

  2、数据量太大,硬盘不够

 

  按一个抓取正文平均500字算,一个词所需要抓取的数据的字数在1万字左右。那抓取50万个词,就是50亿个字。

 

  一般小说站,存储100万字,大概占用2M硬盘空间,那50亿字,就是10000M,要占用10个G的空间。听上去感觉挺少的,But这仅仅是存储数据所占的容量,要为了网页加载性能开启静态缓存呢??

 

  所以,日后若上的数据量大,买硬盘空间实在太贵了,怎么解决呢?缺乏运维经验,现在除了插几块SSD,不知道还有什么别的方法

(本文"奇商:站群程序DEMO开发"的责任编辑:雪豹)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐