python 字符串一次替换多个字符
2012-11-29 13:59
465 查看
最近在用python给自己的seo工作提高效率和节省时间,发现python真的很不错,可以完成很多事情。
下面是我最近在用python为网站自动更新文章做了一个替换锚文本的工作,也是python 字符串一次替换多个字符的很好的应用。
主要的思路是: 一篇文章里有一些我需要做锚文本的字符,我的目的是把字符替换成链接的形式,自动给网站加外链,而且为了链接的多样性,
我用了几个候选的链接,让random随机让程序自己去选择,这个如果懂得SEO的朋友应该是清楚为什么要这么做的。
下面我主要说说用到的python程序把。希望以后大家碰到需要再一个字符串里替换多个字符有一个很好的了解。
我先定义了一个字典:字典key主要定义是需要替换的关键词,后面的列表则是
linkcontent = {'关键词1':['链接1(锚文本1)','链接2(锚文本2)'], '关键词2':['链接1(锚文本1)','链接2(锚文本2)'],
'关键词3':['链接1(锚文本1)','链接2(锚文本2)'], '关键词4':['链接1(锚文本1)','链接2(锚文本2)','.....',根据你的需要添加这个关键词替换锚文本的可能性
这样可以保证外链的多样性。]
......
}
定义方法
def multiple_replace(text, adict,num):
'''多次替换'''
rx = re.compile('|'.join(map(re.escape, adict)))
def one_xlat(match):
rnum = len(adict[match.group(0)])
sortid= random.choice(range(rnum))##类别随机
return adict[match.group(0)][sortid]
if num % 2 == 0:
textnum = 3
else:
textnum = 4
return rx.sub(one_xlat,text,textnum)
import re import random
调用: zcontent = multiple_replace(内容,linkcontent,指定的次数)
因为我这里是用的 for each循环 所以 for i in range(300):
zcontent = multiple_replace(内容,linkcontent,i) 我这样的话,就可以一半文章里面的内容生成3个连接,一半是4个。
你如果只是测试字符串替换功能的话,可以只保留内容和,linkcontent这2个参数,那个指定的次数就没必要了, 不知道大家有些理解。
有问题可以在下面的评论里提出来,大家要实现这个功能主要还是搞懂那个multiple_replace函数就可以了。
下面是我最近在用python为网站自动更新文章做了一个替换锚文本的工作,也是python 字符串一次替换多个字符的很好的应用。
主要的思路是: 一篇文章里有一些我需要做锚文本的字符,我的目的是把字符替换成链接的形式,自动给网站加外链,而且为了链接的多样性,
我用了几个候选的链接,让random随机让程序自己去选择,这个如果懂得SEO的朋友应该是清楚为什么要这么做的。
下面我主要说说用到的python程序把。希望以后大家碰到需要再一个字符串里替换多个字符有一个很好的了解。
我先定义了一个字典:字典key主要定义是需要替换的关键词,后面的列表则是
linkcontent = {'关键词1':['链接1(锚文本1)','链接2(锚文本2)'], '关键词2':['链接1(锚文本1)','链接2(锚文本2)'],
'关键词3':['链接1(锚文本1)','链接2(锚文本2)'], '关键词4':['链接1(锚文本1)','链接2(锚文本2)','.....',根据你的需要添加这个关键词替换锚文本的可能性
这样可以保证外链的多样性。]
......
}
定义方法
def multiple_replace(text, adict,num):
'''多次替换'''
rx = re.compile('|'.join(map(re.escape, adict)))
def one_xlat(match):
rnum = len(adict[match.group(0)])
sortid= random.choice(range(rnum))##类别随机
return adict[match.group(0)][sortid]
if num % 2 == 0:
textnum = 3
else:
textnum = 4
return rx.sub(one_xlat,text,textnum)
import re import random
调用: zcontent = multiple_replace(内容,linkcontent,指定的次数)
因为我这里是用的 for each循环 所以 for i in range(300):
zcontent = multiple_replace(内容,linkcontent,i) 我这样的话,就可以一半文章里面的内容生成3个连接,一半是4个。
你如果只是测试字符串替换功能的话,可以只保留内容和,linkcontent这2个参数,那个指定的次数就没必要了, 不知道大家有些理解。
有问题可以在下面的评论里提出来,大家要实现这个功能主要还是搞懂那个multiple_replace函数就可以了。
相关文章推荐
- 001_018 Python 一次完成多个字符串替换
- python 替换字符串中指定位置字符——一个简单有效的方法
- 一次替换多个词,批量替换多个字符串(使用不了的解决办法)
- java 字符串替换函数replaceAll 一次同时替换多个字符串
- 字符串转换和toString()、字符截取charAt()、一次截取多个字符getChars()
- 一次替换多个字符串,批量替换多个字符串
- 给定一个字符串str,将str中连续两个字符为a的字符替换为b(一个或连续超过多个字符a则不替换)
- python 替换字符串中的字符
- 根据字符串出现在字符中的次序截取 + 替换一次
- python实现字符串只出现一次的字符
- Python同时替换多个字符串
- 一次替换多个字符串,批量替换多个字符串
- Python 正则表达式替换特定字符为标志的字符串
- Python四钟方式来实现“一次处理一个字符的方式处理字符串”
- python cookbook学习笔记[一次完成多个字符串的替换]
- 将字符串中的空字符全部替换为别的字符串 Python 版
- str_replace(),使用数组一次调用替换多个字符串
- 17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- C++: 替换字符串里面的字符
- 【python cookbook】python过滤字符串中不属于指定集合的字符