hello大家好我还是那个萌新,今天给大家带来用post爬取百度文本审核技术的文章!

百度文本审核技术(如图 ):

目标:在终端输入文字,获取网页响应结果。

网址:https://ai.baidu.com/tech/textcensoring

F12打开测试工具,选择Natwork,然后在网页中输入任意文字,点击分析,可以发现响应列表中多出了一个叫aidemo的请求:

显而易见,这个请求就是api接口~

点开查看:

hhhh简单了吧~直接调用接口即可~

代码如下:

import requestsurl = 'https://ai.baidu.com/aidemo'text = input('输入需要审核的文字(最多200字):   ')data = {'content': text,
'type': 'textcensor',
'apiType': 'censor',
'requestTime': '1628780167667',
'token': '2fe1cba870'}headers = {'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'content-length': '103',
'content-type': 'application/x-www-form-urlencoded',
'cookie': 'BAIDUID_BFESS=EAB301E34BAB5B3829977A4FDE00ED44:FG=1; BAIDUID=EAB301E34BAB5B385D72A84F2B5F0276:FG=1; BIDUPSID=EAB301E34BAB5B385D72A84F2B5F0276; PSTM=1628757735; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; __yjs_duid=1_cc834c6c33b9da38de2c8e4c95cf28491628775855270; Hm_lvt_8b973192450250dd85b9011320b455ba=1628775852; Hm_lpvt_8b973192450250dd85b9011320b455ba=1628780471; ab_sr=1.0.1_YjI5OTFlOWQ5OWI1ZjIwM2NmN2U5M2QyMTFiYjY2NWUxY2QxMWJhOTliOGYyN2Q1YWYwM2JhY2ZmZDU0NmQ4NTU1ZTJiNDRiN2RjMWRjOTNjYjdiNTE0YmFiOGQ3ZDE4NjljNmQ0MDk3NTg2N2QyZDJiZDA0OGI4MDdmYzRlYzkzMDI3M2Q1NWJhMzgwMzdhZDE1MGUyNGQ2MWM5MmMwMw==; __yjs_st=2_MjYxNDkyMTMwMWNiNzM2ZGU4NDM0NmQ4YTcyMTM2MTgxMTU0OWY5NzU4NzY2NjI0OTRiNTkyN2VjZjg0MDIwMjBiMWY1Zjg1YzFjNjNiY2QxNzliY2JlZWU0N2YwNGJlYjA5YzhiYzk0NGRhNTMxNGJjMjYxMjE1M2Y5YjJhNWQ1ZDE4NzFlMTNlM2VmODc2MTNlY2NlN2NlMDRkMDE1NDA2NjI1MzY5YmU0YTY4Mzc1YWYzYjRiNzUxZDRiYmJkMzRlODIyMTFiYWE3YjhjMjlhM2RmZDZkOTQ5OGRlMmQ5MjRkNWM2YWJlNDNkM2JjNmYzNzlmMTk4YmYzMmQxYl83X2U4YzNlODYy',
'origin': 'https://ai.baidu.com',
'referer': 'https://ai.baidu.com/tech/textcensoring',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
res = requests.post(url,data=data,headers=headers)

但是,有时候会出现如下情况:

这时候正常人会重新点击分析按钮,所以我们要重新发送请求,直到请求成功,于是代码可以写成这样:

def posts():global js,resres = requests.post(url,data=data,headers=headers)js = res.json()try:posts()
except:posts()

这样就可以一直请求直到成功

接下来可能比较难

点击测试工具的Preview查看:

展开data,data下有一个result,同样展开,下面有pass和reject(如果审核通过就没有reject),pass和reject下有数字(范围0~5):

全部展开,发现每个数字下面都有一个score,明显就是我们要的数据

↑↑↑↑↑↑↑↑↑↑↑↑↑pass数字下的score对应的是通过项的分数 ↑↑↑↑↑↑↑↑↑↑↑↑↑

↑↑↑↑↑↑↑↑↑↑↑↑↑reject下对应的就是不通过的分数啦 ↑↑↑↑↑↑↑↑↑↑↑↑↑

rights = js['data']['result']['pass']
wrongs = js['data']['result']['reject']
for worng in wrongs:y = round(float(worng['score']),3)print('{}   分数:{}'.format(y))print('\n')
print('--------------------------------------------')for right in rights:y = round(float(right['score']),3)print('{}   分数:{}'.format(y))print('\n')

提取各项的分数,然后用round四舍五入到小数点第三位

只输出分数当然不行,谁知道这些分数代表什么啊?

我们要把分数和名称一一对应,我的方法是建立一个字典:

dic = {'1':'暴恐违禁','2':'文本色情','3':'政治敏感','4':'恶意推广','5':'低俗辱骂','6':'低质灌水'}

这些序号可以在data→result→pass/reject→label找到

下面是代码:

dic = {'1':'暴恐违禁','2':'文本色情','3':'政治敏感','4':'恶意推广','5':'低俗辱骂','6':'低质灌水'}rights = js['data']['result']['pass']
wrongs = js['data']['result']['reject']
for worng in wrongs:x = dic[str(worng['label'])]y = round(float(worng['score']),3)print('{}   分数:{}'.format(x,y))print('\n')
print('--------------------------------------------')for right in rights:x = dic[str(right['label'])]y = round(float(right['score']),3)print('{}   分数:{}'.format(x,y))print('\n')

我们还需要测试的综合结果:

全部代码:

import requestsurl = 'https://ai.baidu.com/aidemo'text = input('输入需要审核的文字(最多200字):   ')data = {'content': text,
'type': 'textcensor',
'apiType': 'censor',
'requestTime': '1628780167667',
'token': '2fe1cba870'}headers = {'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'content-length': '103',
'content-type': 'application/x-www-form-urlencoded',
'cookie': 'BAIDUID_BFESS=EAB301E34BAB5B3829977A4FDE00ED44:FG=1; BAIDUID=EAB301E34BAB5B385D72A84F2B5F0276:FG=1; BIDUPSID=EAB301E34BAB5B385D72A84F2B5F0276; PSTM=1628757735; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; __yjs_duid=1_cc834c6c33b9da38de2c8e4c95cf28491628775855270; Hm_lvt_8b973192450250dd85b9011320b455ba=1628775852; Hm_lpvt_8b973192450250dd85b9011320b455ba=1628780471; ab_sr=1.0.1_YjI5OTFlOWQ5OWI1ZjIwM2NmN2U5M2QyMTFiYjY2NWUxY2QxMWJhOTliOGYyN2Q1YWYwM2JhY2ZmZDU0NmQ4NTU1ZTJiNDRiN2RjMWRjOTNjYjdiNTE0YmFiOGQ3ZDE4NjljNmQ0MDk3NTg2N2QyZDJiZDA0OGI4MDdmYzRlYzkzMDI3M2Q1NWJhMzgwMzdhZDE1MGUyNGQ2MWM5MmMwMw==; __yjs_st=2_MjYxNDkyMTMwMWNiNzM2ZGU4NDM0NmQ4YTcyMTM2MTgxMTU0OWY5NzU4NzY2NjI0OTRiNTkyN2VjZjg0MDIwMjBiMWY1Zjg1YzFjNjNiY2QxNzliY2JlZWU0N2YwNGJlYjA5YzhiYzk0NGRhNTMxNGJjMjYxMjE1M2Y5YjJhNWQ1ZDE4NzFlMTNlM2VmODc2MTNlY2NlN2NlMDRkMDE1NDA2NjI1MzY5YmU0YTY4Mzc1YWYzYjRiNzUxZDRiYmJkMzRlODIyMTFiYWE3YjhjMjlhM2RmZDZkOTQ5OGRlMmQ5MjRkNWM2YWJlNDNkM2JjNmYzNzlmMTk4YmYzMmQxYl83X2U4YzNlODYy',
'origin': 'https://ai.baidu.com',
'referer': 'https://ai.baidu.com/tech/textcensoring',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}def posts():global js,resres = requests.post(url,data=data,headers=headers)js = res.json()try:posts()
except:posts()print(res,'\n')dic = {'1':'暴恐违禁','2':'文本色情','3':'政治敏感','4':'恶意推广','5':'低俗辱骂','6':'低质灌水'}rights = js['data']['result']['pass']
wrongs = js['data']['result']['reject']
yesornot = Falsefor worng in wrongs:yesornot = Truex = dic[str(worng['label'])]y = round(float(worng['score']),3)print('{}   分数:{}'.format(x,y))print('\n')
print('--------------------------------------------')for right in rights:x = dic[str(right['label'])]y = round(float(right['score']),3)print('{}   分数:{}'.format(x,y))print('\n')if yesornot == True:print('综合评价:审核不通过')
else:print('综合评价:审核通过')

输出结果:

画质不行,大家有好的工具推荐一下~

以上就是全部内容,谢谢阅读,点个赞再走吧~

python爬虫——百度文本审核技术相关推荐

  1. 连享会-Python爬虫与文本分析专题 (2019.5.17-19)

    连享会-Python爬虫与文本分析专题研讨班 文章目录 连享会-Python爬虫与文本分析专题研讨班 1. 课程概览 2. 嘉宾简介 3. 授课内容 3.1 课程介绍 为什么要学爬虫和文本分析? 为什 ...

  2. python爬虫与文本数据分析 系列课

    在过去的两年间,Python一路高歌猛进,成功窜上"最火编程语言"的宝座.惊奇的是使用Python最多的人群其实不是程序员,而是数据科学家,尤其是社会科学家,涵盖的学科有经济学.管 ...

  3. Python爬虫百度云加速验证码问题

    Python爬虫百度云加速验证码问题 问题描述 解决思路 实现代码 最终结果 问题描述 第一篇博文:低手,刚学,求勿喷. 前段时间,使用爬虫访问一个磁力链接下载网站(target_url),收集电影下 ...

  4. python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  5. 百度文本审核api_利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号 进入 ...

  6. python爬虫百度地图_零基础掌握百度地图兴趣点获取POI爬虫(python语言爬取)(基础篇)...

    实现目的:爬取昆明市范围内的全部中学数据,包括名称.坐标. 先进入基础篇,本篇主要讲原理方面,并实现步骤分解,为python代码编写打基础. 因为是0基础开始,所以讲得会比较详细. 如实现目的所讲,爬 ...

  7. Python爬虫——百度+新浪微盘下载歌曲

    本篇分享将讲解如何利用Python爬虫在百度上下载新浪微盘里自己想要的歌手的歌曲,随便你喜欢的歌手! 首先我们先探索一下我们操作的步骤(以下载Westlife的歌曲为例):打开百度,输入"W ...

  8. 手把手教你一项Python爬虫接单(技术+渠道)

    假期,闲来无事回顾过去的一年,收益最大的还得是Python爬虫接私单,每每和大家分享都甘之如饴,单看一两个单子可能没什么感觉,但一单接一单,一个月的收获非常可观! 这是近期做的爬虫单子,大家可以先感受 ...

  9. python爬虫百度百科-如何入门 Python 爬虫?

    目前网上有关网页爬虫的指导有很多,但是套路却是千篇一律,基本都是围绕以下内容进行展开,CSS/html等网页知识 requests或urllib BeautifulSoup或正则表达式 Seleniu ...

  10. python爬虫百度云资源分享吧_python爬虫入门 实战(七)---爬取并闪存微信群里的百度云资源...

    (声明:本篇文章以交流技术为目的,希望大家支持正版,支持院线~) 需求背景: 最近误入一个免费(daoban)资源的分享群(正经脸),群里每天都在刷资源链接.但是大家都知道,百度云的分享链接是很容易被 ...

最新文章

  1. Linux 高可用(HA)集群之keepalived+lvs
  2. Oracle执行计划相关(待补充)
  3. static_cast, dynamic_cast, const_cast
  4. Java并发编程(十三)同步容器类
  5. python中递归函数特点,Python递归函数特点及原理解析
  6. 【深度学习】高效使用Pytorch的6个技巧:为你的训练Pipeline提供强大动力
  7. js 点击闭包_学习Javascript闭包(Closure)
  8. C# Winform 窗体美化(十、自定义窗体)
  9. 基于javaSwing+文本存储的学生信息管理系统设计实现
  10. 05-雷海林-mysql备份原理与在TDSQL中的实践
  11. oracle 10g rac for linux (ASM) 修改modify public IP and vip
  12. cjson构建_cJSON结构体构建
  13. 借助WinPE进行Windows系统安装
  14. Python硬件编程实战------书评
  15. 后盾网php微博系统,后盾网thinkphp5.0 博客系统实现
  16. 万字长文:用Python轻轻松松操作Excel、Word、CSV!
  17. 拼图游戏 java_Java实现拼图游戏
  18. android6.0 1g运存,全新安卓系统只要1G运存就能流畅运行!低端机 老手机有救了!...
  19. 买天文望远镜必看——已知望远镜焦距、相机画幅,求视场(附代码,实时更新)
  20. 【前端部署】vue项目打包并部署到Linux服务器

热门文章

  1. 【Python】Python网络爬虫-电视剧《平凡的荣耀》数据爬取与分析
  2. 论文笔记 | code representation(代码表示学习)系列
  3. 在线安装提示失败显示系统镜像MD5不正确怎么办
  4. 对于硬盘做了raid的Windows server 2016服务器重置密码
  5. excel概率密度函数公式_用excel怎么制作概率密度图_EXCEL 正态分布公式�9�3
  6. flask 数据库迁移migration
  7. 北京程序员小哥哥的故事
  8. 中职教计算机专业发展,中等职业教育中计算机专业教育思考
  9. 软件测试mysql数据库相关操作
  10. memcached源码分析-----item锁级别与item引用计数