2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python文章伪原创_文章伪原创工具制作

python文章伪原创_文章伪原创工具制作

时间:2019-01-11 20:16:09

相关推荐

python文章伪原创_文章伪原创工具制作

文章伪原创工具制作

什么是伪原创?

简单点来说,就是将原创文章进行加工后得到一篇意思和原文章相近的原创文章。常见于网站发文,自媒体创作,媒体搬运等。因为个体用户创作经历有限,而为了达到目的需要采取伪原创手法

常见伪原创平台

5118

奶盘

小发猫

有付费平台也有免费的,效果可能差强人意吧

伪原创原理

最为正途的,当然就是AI中,自然语言处理分支。利用语言模型进行 分词,计算词义相似度,DNN语言模型(句子通顺度)等等一系列功能整合之后而达到目的。

核心特点:

近义词,同义词替换

保证句子通顺度

实际应用

有意思的是,我用了两种方式各研究了一下。

第一种,自然语言处理,通过使用百度AI的NLP开发了一个开源项目。项目地址:language-ai , 这种可以达到目的,但很快我就发现了问题,分词,DNN语言模型倒还好,但是同义词,近义词替换这个太影响性能,而且对于同义词库的要求比较高。简单来说,就是伪原创速度慢

第二种,采用语言翻译,我们学习过英语都知道,一次多义很正常 ,这就是同义词最常见的地方。所以我们将中文翻译成英文,就会得到意思相近的文章,而且可能每篇都会不一样。然后将英文再翻译会中文,就能完成同义词,近义词替换了,并且效率很高,几千字的文章也不用多久。

第二种方式虽然有点投机取巧,但在文章伪原创上却是殊途同归

工具开发

素材:

Python3.8

PyQt5

其他依赖包

实操

先用PyQt5的designer画一个界面

这里大致画一下界面

成品效果如下

生成py文件

画好之后,按Ctrl + s 保存成 **.ui文件

在ui文件在所在目录打开cmd, 输入生成.py文件命令: pyuic5 -o fast-artcile.py fast-article.ui

这样就会看到一个同名称的py文件,这时候将py拷贝到项目工程中

调用谷歌翻译

初始化请求头,设置tkk值等

def __init__(self):

self.url = '/translate_a/single'

self.TKK = "434674.96463358" # 随时都有可能需要更新的TKK值

self.header = {

"accept": "*/*",

"accept-language": "zh-CN,zh;q=0.9",

"cookie": "NID=188=M1p_rBfweeI_Z02d1MOSQ5abYsPfZogDrFjKwIUbmAr584bc9GBZkfDwKQ80cQCQC34zwD4ZYHFMUf4F59aDQLSc79_LcmsAihnW0Rsb1MjlzLNElWihv-8KByeDBblR2V1kjTSC8KnVMe32PNSJBQbvBKvgl4CTfzvaIEgkqss",

"referer": "/",

"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",

"x-client-data": "CJK2yQEIpLbJAQjEtskBCKmdygEIqKPKAQi5pcoBCLGnygEI4qjKAQjxqcoBCJetygEIza3KAQ==",

}

self.data = {

"client": "webapp", # 基于网页访问服务器

"sl": "auto", # 源语言,auto表示由谷歌自动识别

"tl": "vi", # 翻译的目标语言

"hl": "zh-CN", # 界面语言选中文,毕竟URL都是cn后缀了,就不装美国人了

"dt": ["at", "bd", "ex", "ld", "md", "qca", "rw", "rm", "ss", "t"], # dt表示要求服务器返回的数据类型

"otf": "2",

"ssel": "0",

"tsel": "0",

"kc": "1",

"tk": "", # 谷歌服务器会核对的token

"q": "" # 待翻译的字符串

}

with open('token.js', 'r', encoding='utf-8') as f:

self.js_fun = pile(f.read())

翻译, 需要注意,返回的内容是个数组,需要将数组拼接回字符串

def query(self, q, lang_to=''):

self.data['q'] = urllib.parse.quote(q)

self.data['tk'] = self.js_fun.call('wo', q, self.TKK)

self.data['tl'] = lang_to

url = self.construct_url()

req = urllib.request.Request(url=url, headers=self.header)

response = json.loads(urllib.request.urlopen(req).read().decode("utf-8"))

# 拼接数据

targetText = []

results = response[0]

for result in results:

if result[0]:

targetText.append(result[0])

# 将数组转成字符

str = '\n'.join(targetText)

originalText = response[0][0][1]

originalLanguageCode = response[2]

print("翻译前:{},翻译前code:{}".format(originalText, originalLanguageCode))

print("翻译后:{}, 翻译后code:{}".format(str, lang_to))

return originalText, originalLanguageCode, str, lang_to

给界面中的按钮添加事件

# 绑定 开始 事件

self.pushButton.clicked.connect(self.startTrans)

添加事件处理方法

def startTrans(self):

# 这里写处理逻辑

# 1. 获取用户输入的源文本

# 2. 将文本 中 译 英, 然后 英 译 中

# 3. 将伪原创之后的内容设置回结果输入框即可

pass

这样,一个伪原创工具就完成啦

项目源码

项目源码,托管于github, 部份谷歌翻译内容,参考GitHub中的项目

项目成品

如果有一闪而过的黑窗口,那应该是打包成exe的时候,参数没填好

成品下载

方式一:关注vx公~号, GitHub严选 , 回复 “伪原创”即可下载,不限次数,永久免费。如果tkk失效,可回来看项目更新。

方式二:可自己根据源码包进行打包

温馨提示

如果报毒,很正常,只要没有发布在360,安全管家等安全平台就会报毒。大家添加信任,或者暂时关闭杀毒软件即可

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。