比方说:www.sina.com 是新闻 www.lol.com 是游戏 www.taobao.com 是购物等等。请问这个小程序该怎么做?这是小弟的入职项目,小弟是真不直到该怎么做?有哪位前辈,大哥,可不吝赐教,挺急的,谢谢了。
这种必须人工介入,有时程序肯定有不准的时候,可以写一个小程序,通过关键字来提示人工这个是什么类型的网站,最后由人工放入哪一个分类。这样应该也很快。一个winform,里面一个webbrowser打开对应的首页,然后内部正则匹配一下你的分类关键字,界面上会自然提示出这个网页可能是什么类的网站,你只要点一下确定,这个就被程序记入该类,如果要放入另一个类别,你做几个按钮就行了。
这样来算,开发2~3天,可能还会快一些。然后运行,平均以15s一个网站 一天按7小时计算 7*60*60/15 约1600个网址,3天多就完成了。
额。。谢谢。听起来有点吃力。你说的放到类别是连接到数据库?还是创建个类来保存这些类别?恕小弟愚钝。
@东子同学: 我说的是一个半智能工具,软件会提示你,确定要你来点击才行,如图
左边是网站的主页,右边是操作,上面是程序推测出来的,如果正确你点击确认就行了。如果不正确你就点击下面一些按钮来分类,下面一个按扭就是你的一个类。这样你就是每次看首页,点按钮就可以了。
提示一下注意的地方:1.访问记录要记下,如果出错了,可以接着以前的继续操作
2.打开首页的时间设置,不一定要所有文档都加载完,因为有些网站会很卡,所以尽量做到10s以内,如果超过就不读取直接打开,10s基本上关键字这些标题这些是有的。可以分析。
@gw2010: 谢谢前辈。我想问下,现在我把抓取的页面源码放到了一个string字符串中,在字符串中查找中文的时候,查找不到,请问该怎么做?
@东子同学: 如果没有读取到一些可以分类的信息,就是上工分类啊,你把它分入哪一类就是哪一类,你也可以做一个其它类别,最后再单独来看一下这个类别里的东西,或者就是分不出类别的网址。
@gw2010: 嗯。思路上大致清楚了。但现在编程出现的问题是,我根据url把这个网页的源码缓存到了一个string类,我想在这个string里查找 “新浪”,用到了find,但是查找不到,请问该怎么办?
@东子同学: 用正则匹配一下关键字就行了。比如 新闻 ,游戏等。还可以直接取网页的关键字
你自己多练练吧。这些在网上也可以搜索啊。先搜索,找不到再提问
首先是采集 然后根据规律 进行进一步的数据分析 然后才能分离出类别
谢谢老师。但小弟有很多细节不是很明白。还望老师能详细讲解。各个url好像是没有规律的吧。这样的话该怎么利用url呢?
采取首页信息,根据关键字进行分类。。。然后把不太确定的,再人工分一下。
谢谢老师。采取首页信息还好,但利用关键字分类这一步怎么做呢?
@东子同学: 比如搜索词频,在源码中搜索“游戏”,“购物”,“新闻”等词出现的频率。。
或者用字典匹配。
5000多个直接人工分了,别分析了。
额。。老师你好,如果能人工分就好了,关键现在怎么编程实现?还望老师不吝赐教,万分感谢。
@东子同学: 5分钟一个网站的话,1小时就是24个网站,1天工作6小时144个网站,5000个网站也就是30多天。
30多天你绝对完成不了人工智能和编程的,这个我还是有信心的。
至于人工智能,我还真教不了你,这个得去找百度总工程师。
@爱编程的大叔: 谢谢大叔。他所说的技术好像只是涉及到爬虫对页面进行关键字抓取。但如何提取并进行筛选这一步真的不会。。
提取首页html源码中的关键字,默认将第一个有效关键字(权重最大)当作主分类,其他关键字则是次轻权重,因为有些站点是综合性的站点,只能按照次轻权重再次细分了。比如新浪网的关键字是<meta name="keywords" content="新浪,新浪网,SINA,sina,sina.com.cn,新浪首页,门户,资讯" />,你可以将新浪归为门户一级分类,资讯二级分类。
谢谢前辈,提取html源码的关键字这部我会,但后面您说的按照权重分类就不是很了解了,您能详细的解答下吗?比如新浪的关键字为什么提取出来是这样?怎么根据这个关键字得到他属于新闻的类别?
@东子同学: 新浪的首页关键字是新浪的工程师按照产品的要求定义成这样的,所以,拿到关键字还需要一个智能筛选的过程。你可以定义一个通用字典,将有门户、资讯等关键字的map到新闻的分类下,当然需要你多参考收集各大网站的关键字才能做好这个通用字典了。
你数据挖掘工程师吗?还是做人工智能的?
你问一下给你出题目的人,他确定知道他要做的东西是多么牛逼的一个东西吗?
这东西要是做出来了.你随意再开个百度
所以我说5000人工分是最经济划算,行之有效的办法。
我们称之为人工智能。
额。。小弟也就是个c++实习生。他所说的这个小程序好像要用到爬虫对url进行关键字抓取,然后分类。现在我困惑的地方是这五千个url怎么管理和实现能在第一层提取出关键字就输出,提取不出来就接着爬取第二层?直到输出为止,结果是让输出到文件。以前在学校没有写过这类东西,所以现在不知所以。能教教我吗?谢谢了。
@爱编程的大叔: 大叔能指导下小弟怎么实现这个功能吗?原题目是:给一个url和一个行业清单,怎么判断这个url属于里面哪个行业?这个清单就是 新闻:新浪,凤凰,人民网等。 购物:淘宝,国美,京东等。金融:中国银行,建设银行等。还有其他类别包括:游戏,视屏,教育,政府,旅游。。
@东子同学: 这样的题目只需要做论文就可以了,不需要真正实现的。
真正实现这个的话你再话三年也不够。所以你只要想思路是什么。
@爱编程的大叔: 可惜人家要的就是程序。现在我的思路是利用爬虫将url利用搜索引擎的结果匹配整个html里的关键字,若是出现‘新闻’的多那么就是新闻类。如果匹配不到则进行深一层的抓取,直到匹配出结果为止。这个思想可以吗?
@东子同学: 不可能的不管你用什么规则,你从url获取到的html都有可能和你设置的条件反着来.
比如你说 带教育关键字的就是教育网站,那一个url是卖书的,也带教育了.怎么办.
没有一个100%的条件可以判断出这些东西.
所以只能用数据挖掘的方法,用多个算法判断1个url更有可能是哪个行业.但这种算法可以说普通的研究生是写不出来的.专业的研究生我觉得能写出来的都不多
@吴瑞祥: 额。。那这样呢?将url进行搜索引擎搜索,利用搜索引擎的结果匹配整个html里的关键字,若是出现‘新闻’的多那么就是新闻类。如果匹配不到则进行深一层的抓取,直到匹配出结果为止。
@东子同学: 一样的道理的
@吴瑞祥: 我一直不明白为啥这么简单的道理,没有人明白。
人工智能关键是大数据,错误率。
大数据和错误率这个是投资几百亿也不见得有什么效果的。
<meta name="keywords" content="程序员,开发人员,开发者,编程" />
<meta name="Keywords" content="果壳,果壳网,科技,泛科技,智趣,生活,科普"/>
<meta name="keywords" content="IT,开源,开发者,软件,硬件,书籍,互联网,科学,社会,奇客,社区"/>
优先找一些已经分类过的导航网站数据
之后还不能确定的meta 文件
还有不能确定的找人工分。
你应聘什么职位?
c++开发工程师。
@东子同学: 你精通 C++ 吗?
1、首页导入所有行业数据(收集行业内的一些常用关键词)
2、通过行业关键词,通过url的<meta name="keywords" content="关键词" />,初步检索同时标记为对应所属行业类别(一个url对应多个行业,不知道考虑进去吗?)。
3、通过2步,可以把url范围缩小。通过人工再去各类别查看对应url,排查无关的url.
4、要达到精准,就只能靠分析,人工排查标记了。
谢谢。
注意页面的META。这个实际上是切分好了的。
如果你的站点比较大,这个可以用来做分类依据。
例如:
<meta name="keywords" content="新浪,新浪网,SINA,sina,sina.com.cn,新浪首页,门户,资讯" /> <meta name="description" content="新浪网为全球用户24小时提供全面及时的中文资讯,内容覆盖国内外突发新闻事件、体坛赛事、娱乐时尚、产业资讯、实用信息等,设有新闻、体育、娱乐、财经、科技、房产、汽车等30多个内容频道,同时开设博客、视频、论坛等自由互动交流空间。" />
谢谢前辈。我想问下,现在我把抓取的页面源码放到了一个string字符串中,在字符串中查找中文的时候,查找不到,请问该怎么做?
碰巧我做过类似的项目,你走大运了。
1.首先抓取 http://top.chinaz.com/ 这个站点(也可以找找其他类似站点)的分类数据,提取每个分类下的网站keyword\title
2. 分析处理每个分类下的keyword和title分词,自己处理每个keyword的权重排名,包括排除一些垃圾词
3. 这样就有数据库了。分析目前网站的keyword,title分词,到处理过的数据库中匹配就得到分类啦。
只能帮你到这啦,自己慢慢搞吧
分词和词的排名处理是关键