Python脚本 抓取/翻译动漫角色名字的罗马音或外文名(用于搜索图片)
在 https://danbooru.donmai.us 搜索色图的时候,因为老美的网站的缘故,不支持中文和日文输入,只能输入平假名对应罗马音来寻找人物.像我虽然日语N1了,但是遇到人名有时依然会念错.所以需要一个可以直接翻译角色名的API.不过找了一圈,什么有道翻译,谷歌翻译(googleTranslate for py),都是坑=,=
例如:宝多六花->Treasure six flowers
我佛了,什么精致翻译
所以不考虑机翻考虑人翻,立刻想到可以用百度百科或者萌娘百科的翻译,于是不用翻译直接用爬虫爬下来不就好了吗?
所以立刻写完测试,拿来使用(好像没啥问题)
图一:输入框中输入角色的罗马音
图二:百科翻译
测试结果
1.动漫角色
其他
另外,还能搜现实人物的外文名。因为百度百科的网页样式比较统一,所以不用修改爬虫就能得到,但是萌百的页面普遍有三种1.角色 2.重名->重定向 3.现实人物,而这里只做了对角色的搜索页面,所以现实人物会GG。另外没有对没有平假名的页面也会GG
我觉得可以走NLP方向研究下平假名翻译这个问题
Python代码
import requests
from lxml import etree
import reheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36'
}def get_name_from_baidu(name):try:res = requests.get("https://baike.baidu.com/item/" + name, headers=headers)if res.status_code == 404:raise Exception("百度百科找不到信息")res.encoding = res.apparent_encodinghtml = etree.HTML(res.text)name_str = html.xpath('//dd[@class="basicInfo-item value"]')[1].xpath('text()')return re.search("[a-zA-Z](.*)[a-zA-Z]", ''.join(name_str)).group()except Exception as e:print(e)def get_name_from_moe(name):try:res = requests.get("https://zh.moegirl.org/" + name, headers=headers)if res.status_code == 404:raise Exception("萌娘百科找不到信息")res.encoding = res.apparent_encodinghtml = etree.HTML(res.text)name_str = html.xpath("//span[@itemprop='name']/text()")[0]return re.search("\w(.*)\w", name_str).group()except Exception as e:print(e)if __name__ == '__main__':name = input("输入名字: ")print("从百度百科得到:")print(get_name_from_baidu(name))print("从萌娘百科得到:")print(get_name_from_moe(name))
Python脚本 抓取/翻译动漫角色名字的罗马音或外文名(用于搜索图片)相关推荐
- Python脚本抓取大乐透开奖结果核对定投号码邮件通知
最近学习了一下Python的基础,想写个东西练练手.正好每次跟号的大乐透还需要手动兑奖或者去彩票站兑奖,自己写一个脚本自动抓取开奖结果,核对开奖金额后邮件通知. 整体思路: 找可抓取开奖结果网站 找可 ...
- python爬虫-抓取acg12动漫壁纸排行设置为桌面壁纸
ACG-wallpaper 初学python,之前想抓取P站的一些图片来着,然后发现acg12这里有专门的壁纸榜单,就写了个抓取壁纸作为mac桌面壁纸玩玩. 功能:抓取acg12壁纸榜单的动漫壁纸,并 ...
- 如何写python脚本抓取数据并计算_【小工具】利用Python脚本从Gaussian计算结果中提取信息...
1.前言 高斯(Gaussian)是一个功能强大的量子化学综合软件包,所有从事计算化学相关领域的科研工作者应该都使用或者了解过这个软件.它的输出文件(.log文件)是一个文本文件,可以利用文本工具打开 ...
- Python爬虫 - 抓取divnil动漫妹子图
目标网站 https://divnil.com 首先看看这网站是怎样加载数据的; 打开网站后发现底部有下一页的按钮,ok,爬这个网站就很简单了; 我们目标是获取每张图片的高清的源地址,并且下载图片到桌 ...
- python Web抓取(一)[没写完]
需要的模块: python web抓取通过: webbrowser:是python自带的,打开浏览器获取指定页面 requests:从因特网上下载文件和网页 Beautiful Soup:解析HTML ...
- python爬虫抓取网站技巧总结
不知道为啥要说是黑幕了??哈哈哈-..以后再理解吧 python爬虫抓取网站的一些总结技巧 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛 ...
- Python学习教程:Python爬虫抓取技术的门道
Python学习教程:Python爬虫抓取技术的门道 web是一个开放的平台,这也奠定了web从90年代初诞生直至今日将近30年来蓬勃的发展.然而,正所谓成也萧何败也萧何,开放的特性.搜索引擎以及简单 ...
- python爬取小说出现乱码_详解Python解决抓取内容乱码问题(decode和encode解码)
一.乱码问题描述 经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下 原因是源网页编码和爬取下来后的编码格式不一致 二.利用encode与decode解决乱码问题 字符串在Python内部的 ...
- 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...
最新文章
- 【从零开始的ROS四轴机械臂控制】(六)- 逻辑控制节点
- 1小时学会:最简单的iOS直播推流(十一)spspps和AudioSpecificConfig介绍(完结)
- ASP.NET State Service
- python基础练习(二)
- 链接不到服务器_新手搭建云服务器详细过程
- 记录一次生产发布事件——(简单的非空验证也能引发大问题)
- Git 的 .gitignore 配置
- 在游戏设备上砸钱 其实小姐姐们更疯狂!
- c语言lr分析器的设计与实现_[源码和文档分享]基于有限自动机的词法分析器构造...
- openopc.opcerror: dispatch: 无效的类字符串_实战PyQt5: 064-MV框架中的Model类
- 移植 libuv 到 Visual C++ 6.0 并支持在 Windows XP 系统下编译
- 网络攻防技术——端口扫描
- 生成透明带水印的图片
- THREE.js开荒小记(二):无效宽度linewidth的Line 和 无效阔threshold的Line2
- java运行内存不足_Java运行过程出现的内存不足问题
- n维向量,n维向量空间,n维向量空间的维数
- 游戏开发中的坑之十一 代码改变灯光的cullingmask
- el轮播图片image单张图比例缩放及多张图宽度固定高度等比例自适应展示;
- android模拟器设置静态ip,静态IP地址版EVE模拟器部署和使用说明
- 城市空中交通和无人系统的空中交通管制评估
热门文章
- 项目部署到tomcat中startup.bat步骤
- 深信服AF防火墙(地址转换)服务器映射
- 【cocos2d-x 3.7 飞机大战】 决战南海I (九) 飘字特效
- 沉降预测算法-二次多项式拟合法
- Bad return type in method reference:cannot convert java.util.function.PredicateXXX to boolean
- 不规则三角网(TIN)与 数字高程模型(DEM)
- 10月21号微软Azure培训的PPT下载
- ONES CTO 冯斌|如何低成本地做出高质量决策
- 自动驾驶汽车的发展史
- postgresql双机热备份之流复制