根据不同的设备跳转到pc页面或者wap页面

随着互联网发展,现在网站基本上都有wap页面和pc页面两套,当给用户一个pc页面的URL的时候,用户使用移动设备访问的时候需要跳转到对应的移动页面,这时候需要做js跳转了,反之同理给用户wap页面URL,用户pc访问的时候需要跳转到wap页面,不过从seo这一块考虑,最好在服务器端使用302进行跳转,如果不会弄的情况下,可以考虑使用js。下面分享下代码(只正对域名不同其他URL结构相同的网站有用,复杂的需要根据实际情况来改动):

pc页面跳转到wap页面,代码放在pc页面上

 Javascript |  copy code |? 
01
<script type="text/javascript">  
02
var url = window.location.pathname;
03
var wapurl="http://3g.xxx.com"+url
04
 
05
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
06
	if(window.location.href.indexOf("?mobile")<0){
07
		try{
08
			if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
09
				 window.location.href=wapurl; 
10
			}else{ 
11
			   	window.location.href=wapurl;
12
			}
13
		}catch(e){}
14
	}
15
}
16
 
17
</script>  
18
 
19
 
20
 

wap页面跳转到pc页面,代码放在wap页面上:

 Javascript |  copy code |? 
01
<script type="text/javascript">  
02
 
03
var url = window.location.pathname;
04
var pcurl="http://www.xxx.com"+url
05
 
06
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent)==false || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))==false){
07
	if(window.location.href.indexOf("?mobile")<0){
08
		try{
09
			if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)==false){
10
				 window.location.href=pcurl; 
11
			}
12
 
13
		}catch(e){}
14
	}
15
}
16
</script>  
17
 
18
 
19

连黄网都找不到你还能干什么?

两周前,在前往深圳黄田机场的路上,听司机先生讲起那些嫖客的故事。说是一位客人上车,立即要求他直奔中国的性都东莞斯特丹。抵达东莞直接进桑拿房,请司机在楼下等着。45分钟后,这位仁兄意气风发又略带疲惫地下楼,上车返回深圳。司机先生说:“这一趟的士费就要800块,就为了那半个小时。”言下之意颇为客人觉得不值,我很不赞同司机先生的看法,但当时没有做任何反驳。

生存和繁衍,这是任何生物种群最为顽固和强大的需求。自人类发明避孕套之后,繁衍已经不再是重点,性成为了一种娱乐。即便如此,它的驱动力也依然异常强大。在我看来,力必多是否强劲有力,表征着生命力是否依然旺盛。如果这点心思都没有了,很难相信这个人还能做出点别的什么来。

所以,我理解不了所谓“找不到黄网”是什么意思。找不到,说明力必多不够强大,不足以促使一个人产生各种必要的行动。同样的,连黄网都找不到,连最强力和原始的驱动力都无法使得一个人产生行动,得到结果,那么我根本不相信这个人还能做点别的什么。除非,他无需上网满足这一部分需求,在现实中已经拥有了足够的供给。

我相信的确有许多人当真找不到黄网,这就是人生的一种。所以,他们用不了Twitter也就不用,看不了Youtube就不看,有天Gmail也无法访问了,他们可以写航空信。当然,你还会听到他们叫嚷说:我实在是没有方法呀!谁能教教我?

没有人应该去教这种人,他们确实也不需要某些方法。那些真正需要的人,他们一定能找到通路。黄网也好,Twitter也罢,并不会真有多大的障碍。因为这些人的人生中,早已经习惯了自行寻找解决方案。他们不会坐等,也不会干嚎,而是挽起袖管,径直动手。这已经成为了人生的一种常态,遇见问题,解决问题,不等不靠。所以,他们的欲望会被得到尊重,总能得到满足。真心寻求,哪怕是一个黄网,你总是能找到的。而且,这种找寻过程会上升为个人处世的方法论,在其它事物上同样得到体现。

一个连黄网都找不到的人,大概也就不能希望他可以创造出点什么新鲜玩意,发表什么新鲜见解。他们是最失败的填鸭学生,最失败的板凳员工,需要在屁股上来上一烙铁,才能勉强往前挪动一小步。我丝毫不怀疑,他们没有多少活泛气,对于他们而言一天就是一世,所以天天雷同,世世如此。因为对人之大欲,都是这样一种态度和行动力,那就别去奢望他们在其它小欲望,小任务,小目标上会有什么过人的表现。

今天,找不到一个黄网,至少说明这个人缺乏一套方法论。寻找的过程中有障碍,找不到意味着没有克服困难的能力。而能力不足反应的是意愿不足,一个人想钱想疯了,最后多少也能赚点骗点抢点,钱夹的皮革、银行的厚壁、保险箱的钢锁,都不会成为问题。最怕的是小孬,说不想也想,说想又懒得动弹,那么这种人就应该交给老天,让天养活。什么时候老天慈悲,兴许会空降一个充气娃娃下凡,所有问题也都解决了。

而对于那些一贯能够找到出路找到方法的人来说,能否访问黄网不是问题的关键,是这种意愿以及贯彻意愿的行动本身,使得他们能在这个世界上强悍地活下去。如同一个个工兵,逢山铺路、遇水搭桥。十年二十年之后,各人所取得的进境因此而完全不同。百年之后,各人成就的一生会因此而大不相同。

在墙外看到的风景,正应了那句话:相逢的人总能相逢。这无非是因为所有最终能够相逢的人都具备相同的人生态度,故而有相同的行动能力,最终也就总能成为幸福的少数人。他们和自己作战,和不可能作战,这种人生态度如同无法阻遏的力必多一样,驱动他们走上前去,走到一起,走进风景。

而那些连自己的欲望都无法尊重和实现的人,还能干点什么?

by:菜头叔

python计算关键字长度

有时候我们会根据关键字长度对关键字进行分类,分享下使用python的实现方式:

1.主要使用python的len()函数计算每个字符的字节数,由于中文一个字为3个字节(utf-8编码下),英文为1个字节,所以这里的处理需要区别对待,我想到的办法是分别处理两种状态,使用正则表达式的\w和\W来提取中英文。

2.排序,计算好每个关键字长度后,需要对其进行排序,这里使用了字典排序功能,关键字做key,关键字长度做value(需要注意的是不可以使用关键字长度做key,因为很多关键字长度是相同的,那么必然会被替换掉,这不是我们想要的,且关键字长度添加到字典里面去的时候必须是int(),否则排序时候不会当作数值处理)。

 Python |  copy code |? 
01
#coding:utf-8
02
#计算关键字长度并排序
03
#2014年4月11日 23:41:58
04
#by M.Shan
05
#需处理数据格式:关键字,URL
06
import re,csv
07
key=csv.reader(file('uz.csv','rb'))
08
key1=open('uz1.csv','w')
09
zidian={}
10
lists=[]
11
 
12
for line in key:
13
	reges=re.compile(r'\w',re.M)
14
	E=reges.findall(line[0])   #获取数字和英文
15
 
16
	reges1=re.compile(r'\W',re.M)
17
	C=reges1.findall(line[0])  #获取到中文
18
 
19
	English= len(E)  #获取英文长度
20
	China=len(C)/3   #获取中文长度,中文一个汉字3个字节,除以3得到汉字个数
21
	length=line[0]+','+line[1]+','+`English+China`
22
	lists.append(length)
23
 
24
for ls in lists:
25
	ls=ls.split(',')
26
	ls_value=int(ls[2])      #这一步必须转成int,否则下面的字典排序的时候不会当作数值处理,而是当作字符来处理,导致排序错误
27
	ls_key=ls[0]+','+ls[1]
28
	zidian1={ls_key:ls_value}
29
	zidian.update(zidian1)
30
 
31
cc=sorted(zidian.items(), key=lambda d:d[1], reverse=True )   #字典排序之降序,针对字典value排序(d:d[1]), reverse=true为降序
32
 
33
for key in cc:    #keys()字典的键值
34
	key1.writelines(key[0]+","+`key[1]`+"\n" )   #文件写入key1
35
	print key[0]+","+`key[1]`    #分别输出里面的数
36
 
37
key1.close()

处理后截图:

111 python计算关键字长度

谈谈面试SEO岗位

本文局限在我个人经验。仅供参考,面试不上不要怪我。

说几个我面试会问的问题,以及常见的问题。

  1. 谈谈你是怎么做SEO?可以围绕个别细节单独展开

错误回答:只说改改页面,发发外链,写写内容,只做首页关键词排名,或者少数几个关键词排名的可以回去等通知了

正确回答:从用户角度考虑搜索习惯,构建网站结构,内容策略,观察数据。然后能够针对一个点展开回答的,例如如何收集词库,如何规划页面,是否有运营内容的经验,是否会收集分析数据都是加分项。

2. 如何判断一个网站SEO做的好不好?

错误回答:说看PR,百度权重,收录,外链,域名年龄的全部回去等通知

正确回答:首先看看这个网站各个网页的质量好不好,再看抓取收录是否好,最后看看还有没有提升的空间机会。满足更多用户需求。

ps.网页质量好不好从哪些角度呢?

3. 对待外部链接的做法?

错误回答:友链工程师,博客外链工程师,论坛外链工程师,信息平台外链工程师请回家等通知

正确回答:人为刻意的外部链接是搜索引擎极力反对的东西,外部链接应该需要引导用户推荐你,而不是自己去做,并且大型网站都不需要关注外部链接。当然,对于一些特殊行业例外,需要短平快的效果。(完全看自己的对SEO行业的涉及面了)

4. 平时个人从哪些地方学习SEO知识呢?

错误回答:x5,xz,xwhy,x密码,x艺术,某大神的全部回去等通知(这个好难隐藏)

正确回答:官方博客指南;搜索引擎原理,信息检索,信息结构,自然语言处理等相关书籍博客;某些黑客blog(=.=|||),外国的那些SEO网站大都没什么神奇的,只不过是上错误回答中那些网站的文章翻译成英文而已,花钱买VIP的我更加为你的钱包默哀。

5. 对其他技术有所涉猎吗?

错误回答:不会,只会简单的html的请回去等通知(平时都在干吗?)。

正确回答:技术类:php,python,.net,shell,sql,hadoop 产品类:用户体验设计,Axure/OmniGraffle,会写PRD,javascript/css,PS。哪怕Excel和PowerPoint做的比较好,都是加分项。

6. 是否有比较成功的SEO经验,不论大小?

这个就没错误回答了。有就有,没就有。自己做过有10000+流量的站(再高应该可以考虑不用上班了) > 自己做过几百流量网站 > 排上过一些热门关键词 > 排上过一些低竞争关键词 > 没有 > 我什么词都排得上去(请回去等通知)。

7. 期望薪资/什么时候来上班

。。。自行谈吧

by:夜息

状态

90年代的记忆只能存在记忆中了

今天看到了一篇新浪1999年发的新闻,突然想起了那些年。无尽的孤独,父母还是正青春的年纪。我还不知道什么叫电脑,更想不到今天会从事互联网工作,家是个平房,两房一间,中间大客厅的那种,后门经常从上面跳下去跑到后山玩,那时候真闹腾。门前的马路还是石子路,在路上捡石子玩弹弓是那年代我们最大的娱乐项目了,那时候好快乐,好开心,跟着,小凯,小璇后面转,我独子,只能跟别人后面跑,自己一个人的那种寂寞,真怕,真的很怕。无尽羡慕的别人有兄弟姐妹。学校还是危房,记得那上面的架子还是用树顶着的,小学最多的记忆还是在这里,夏天钓虫子,和小伙伴满操场的疯跑,不知道何为辛苦。何为未来,没有钱的压力,1块钱能用几个星期,我记得过年大概自己能有十几二十块钱的压岁钱,这钱就是自己基本上一年的零花钱了,那时候感觉20块钱好多好多,买1毛钱的雪饱啃半天,那个满足啊。5毛钱的雪糕是很奢侈奢侈的东西,整个童年都没吃到几次,现在也没吃到几次,现在是不想吃,那时候是没有钱,5毛钱是很高的消费了。90年代我有多想回去,我想在看看门对面的草坪,我在上面爬着跳了我一整个童年的地方。

我们捡很多玻璃瓶子和没用的灯泡,用弹弓弹出去石子打破瓶子和灯泡,每个人轮着打,打破了的那种满足,那种惊喜,足以开心一个上午,在我家后面角落,在小凯家前面的石头堆里面。家里养鸡,小时候经常跟着妈妈到城里卖鸡,那时候纯属捣乱,我一个人就特别黏父母,因为我没有兄妹,只有爸爸妈妈。我记得还养过兔子,哈哈。都快忘记这事情了。

最喜欢过年寒假了,妈妈给钱给我买枪买,买塑料子弹,和他们几个满上跑打着小鸟。这是童年最奢侈的玩具之一了,一把枪10块钱吧,2袋子弹5毛钱,打出去了还去找子弹,因为没那么多钱买子弹,很多时候几个人都是一起在找子弹。。

夏天晚上6点洗完澡和他们几个出来散步是整个夏天最幸福的日子,不知谁带头的,有那么好几年夏天都是这么度过的,马路两边跳过的小青蛙到处都是。当然夏天还有一个充斥着整个童年的活动,就是钓鱼了,家那边没有河,没有海,只有池塘,我们钓的都是小鲫鱼,很小的一条,但不妨碍这成为我们90年代最童年时候的最美好的记忆,到竹圆到其他地方砍到竹子买好鱼线鱼钩,到后山挖蚯蚓,和几个发小一起就开心的钓鱼去了,去的最多的地方要属我家后面的池塘了,我们叫他:额,我忘记名字了,长大一点的时候我们钓龙虾,那时候已经是14岁左右的事情了吧,在早的时候都不知道龙虾是什么样子的。

门前的草坪小时候在上面发明了很多我们的小玩法,比如在小凯屋前面的草坪几个人一起挖一个“陷阱”,然后让大一点的孩子来玩,一个都没中陷阱,囧。那是我们花了很多心血挖的小陷阱。现在已经看不见了。永远看不见了。看的电视剧无非那几部,神雕,天龙,西游。我们会到山上找到一根比较好的小棍子,然后折断,当作我们的武器,然后对打,看谁的不容易断,谁就厉害。嘎嘎,哈哈,我现在有时候拿起一根棍子舞动几下都会想起那些年,记得自己也做过心爱的宝剑啦啦啦,不过好容易断,囧。

还有好多好多的美好,没有大城市的灯红酒绿,没有大城市的娱乐设施,一切都是那么的原始,那么的不值一提,可是啊,这些都是和我一起长大的一代人最美的曾经,时间太久,即使最美好的东西都会慢慢的忘记。也许在过10年这些都会慢慢忘记,希望在次看到这篇文章的时候,我又能记起你们吧,我最不愿放弃的曾经。走好,心里永远有你。

好久没有想起以前,别人说只有过得不如意的时候才会疯狂的想念曾经吧,我想我的确过的不如意吧,一个人背井离乡,一个人生活,一个人看电视,一个人笑,一个人做饭。看到一个笑话想和你说,才想起你已经离我而去。我不喜欢一个人看电视,不喜欢一个看电影,因为我想笑的时候没人分享,想哭的时候只会更加忧郁。

美好的终是逝去,最无助的时候你依然是我最大的安慰剂–童年。

对于你,所有人面前我都说我早已忘记,可我始终认为,站在这里的,应该是两个人。

计算文章权重TF-IDF。

嗯。tf-idf是个好东西,有必要计算下。下面是python下的jieba模块实现的文章tf-idf的计算结果。

 Python |  copy code |? 
01
#coding:utf-8
02
import jieba
03
import jieba.analyse    #计算tf-idf需要调用此模块jieba.analyse
04
stopkey=[line.strip().decode('utf-8') for line in open('stopkey.txt').readlines()] 
05
#将停止词文件保存到列表stopkey,停止词在网上下载的。
06
neirong = open(r"ceshi1.txt","r").read()  #导入需要计算的内容
07
zidian={}
08
fenci=jieba.cut_for_search(neirong)   #搜索引擎模式分词
09
for fc in fenci:
10
        if fc in zidian:                
11
                zidian[fc]+=1           #字典中如果存在键,键值加1,
12
        else:
13
                zidian.setdefault(fc,1)   #字典中如果不存在键,就加入键,键值设置为1
14
quanzhong=jieba.analyse.extract_tags(neirong,topK=20)       #计算tf-idf,输出前20的权重词。
15
for qg in quanzhong:
16
        if qg in stopkey:       #如果qg存在停止词stopkey里面,则pass
17
                pass
18
        else:                                        #不存在的话就输出qg和出现qg的次数
19
                print qg+","+`zidian[qg]`       #输出权重词和权重词出现的次数
20

以zero以前的一篇文章“TF-IDF框架与其可以衍生到的SEO知识”内容为例,输出结果是:QQ截图20140331110724 201x300 计算文章权重TF IDF。

python利用jieba分词进行分词,去停止词(停用词)。

上一篇文章介绍了利用python进行SEO词库去重,去重后需要对现有的词库进行去停止词操作,这里我们主要利用到了jieba分词的搜索引擎模式cut_for_search() .

去停止词主要利用了停止词词库进行去重set(jiebas)-set(stopkey)

 Python |  copy code |? 
01
#coding:utf-8
02
import jieba,csv
03
fenci=open(r'fenci_ddc.csv','w')  #数据写入到fenci_key里
04
stopkey=[line.strip().decode('utf-8') for line in open('stopkey.txt').readlines()]  
05
	#读取停止词文件并保存到列表stopkey
06
key=csv.reader(file('key_ddc.csv','rb'))  #读取需要处理的词库:key_ddc.csv
07
list1=[]
08
i=0
09
 
10
for keys in key:
11
 
12
	if i==0:	
13
		i=1
14
		jiebas=jieba.cut_for_search(keys[0]) #jieba.cut_for_search() 结巴分词搜索引擎模式		
15
		fenci_key="/".join(list(set(jiebas)-set(stopkey))) #使用join链接字符串输出
16
		list1.appen