爬虫模拟有道字典进行翻译,还发现了一条好玩的js
08.14自我总结
爬虫模拟有道字典进行翻译
一.代码
import requests
from lxml.html import etree
# headers= {
# 'User-Agent':' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36',
# 'Cookie':' DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; webDict_HdAD=%7B%22req%22%3A%22http%3A//dict.youdao.com%22%2C%22width%22%3A960%2C%22height%22%3A240%2C%22showtime%22%3A5000%2C%22fadetime%22%3A500%2C%22notShowInterval%22%3A3%2C%22notShowInDays%22%3Afalse%2C%22lastShowDate%22%3A%22Mon%20Nov%2008%202010%22%7D; ___rl__test__cookies=1565782601235; OUTFOX_SEARCH_USER_ID=131296774@139.226.172.110; OUTFOX_SEARCH_USER_ID_NCOO=1369535179.7407944; _ntes_nnid=b3ad33663a64ae962e76c71b2df46330,1565057224869; JSESSIONID=abcfltcZlc31Td7QD1pYw; search-popup-show=8-14; DICT_UGC=be3af0da19b5c5e6aa4e17bd8d90b28a|; ___rl__test__cookies=1565782014056'
# }
# 本来以为有道可能会有点反爬措施,结果发现并没有...
a = input('请输入你翻译的内容')
rp = requests.get(f'https://dict.youdao.com/w/{a}/') # 这个url是Fiddler获得的
# 他翻译的内容可能会出现在两个xpath中
data_xpath_1 = '//*[@id="phrsListTab"]/div/ul/li/text()'
html = etree.HTML(rp.text)
data = html.xpath(data_xpath_1)
if not data:
data_xpath_2 = '//*[@id="phrsListTab"]/div/ul/p/span[2]/a/text()'
data = html.xpath(data_xpath_2)
#一长串东西翻译
if not data:
data_xpath_3 = '//*[@id="fanyiToggle"]/div/p[2]/text()'
data = html.xpath(data_xpath_3)
#单纯的为了打印好看
count = 1
for english in data:
print(f'翻译{count}:{english}')
count += 1
我还发现了一条好玩的js
https://dict.youdao.com/word/wordarticle?query=这里是我们查询的翻译输入的内容&jsonp=jQuery191018231021198201125_1565783847667&_=1565783847668 HTTP/1.1
很多内容会匹配不到,你输入天才可以试试
是匹配相关文章的
爬虫模拟有道字典进行翻译,还发现了一条好玩的js的更多相关文章
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- kettle系列-6.kettle实现多字段字典快速翻译
在数据清洗转换中,常见的字典翻译,如性别在原表中是1(男).2(女)等,类似还有很多较大的字典需要翻译,若同一个表中有很多个字典需要翻译,采用[数据库查询]方式翻译的话效率就会相当低下. 这里采用ja ...
- 爬虫模拟登陆之formdata表单数据
首先HTTP协议是个无连接的协议,浏览器和服务器之间是以循环往复的请求回复来交互的,交互的形式是以文件形式来进行的.比如在chrome开发者工具network中看到了 每一行是一个文件,又文件大小啊, ...
- python爬虫模拟登陆
python爬虫模拟登陆 学习了:https://www.cnblogs.com/chenxiaohan/p/7654667.html 用的这个 学习了:https://www.cnblogs.co ...
- php后台“爬虫”模拟登录第三方系统
http://blog.csdn.net/liu_c_y/article/details/49956679 http://www.php100.com/html/webkaifa/PHP/PHPyin ...
- (转)Python网络爬虫实战:世纪佳缘爬取近6万条数据
又是一年双十一了,不知道从什么时候开始,双十一从“光棍节”变成了“双十一购物狂欢节”,最后一个属于单身狗的节日也成功被攻陷,成为了情侣们送礼物秀恩爱的节日. 翻着安静到死寂的聊天列表,我忽然惊醒,不行 ...
- 模拟jQuery中的ready方法及实现按需加载css,js实例代码
这篇文章介绍了模拟jQuery中的ready方法及实现按需加载css,js实例代码,有需要的朋友可以参考一下 一.ready函数的实现经常用jQuery类库或其他类库中的ready方法,有时候 ...
- easyui源码翻译1.32---ProgressBar(进度条)
前言 使用$.fn.progressbar.defaults重写默认值对象.下载该插件翻译源码 进度条提供了一个反馈显示一个长时间运行的操作进展.可以更新的进展条,让用户知道当前正在执行操作. 源码 ...
- easyui源码翻译1.32--Slider(滑动条)
前言 使用$.fn.slider.defaults重写默认值对象.下载该插件翻译源码 滑动条允许用户从一个有限的范围内选择一个数值.当滑块控件沿着轨道移动的时候,将会显示一个提示来表示当前值.用户可以 ...
随机推荐
- SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)
场景 SpringCloud学习之运行第一个Eureka程序: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451 S ...
- 用Bootstrap做一个历史朝代表
引入CDN,算好需要合并的单元格. <!DOCTYPE html> <html> <head> <!-- 移动设备 --> <meta name= ...
- Hack the De-ICE: S1.120 VM (Boot to Root)
下载地址: https://www.vulnhub.com/entry/de-ice-s1120,10/ 静态IP:192.168.1.120 主机扫描: ╰─ nmap -p1-65535 -sV ...
- android shape实现阴影或模糊边效果
1.实现阴影或模糊边效果方式: 2.通过shape来实现,具体是通过layer-list 多层叠放的方式实现的 <?xml version="1.0" encoding=&q ...
- 位域-isa指针
一.isa指针结构 union isa_t { isa_t() { } isa_t(uintptr_t value) : bits(value) { } Class cls; uintptr_t bi ...
- ubuntu虚拟环境的操作
查看已经安装的虚拟环境:workon 退出虚拟环境,home目录下执行:deactivate 进入虚拟环境:workon 虚拟环境名
- C# 面向切面编程 AOP
AOP(Aspect Oriented Programming) 面向切面编程 起源 引言 http://wayfarer.cnblogs.com/articles/241012.html AOP技 ...
- CSS字体属性 font属性
CSS的所有字体属性: ·-· font 在一个声明中设置所有的字体属性 ·-· font-family 指定文本的字体系列 ·-· font-size 指定文本的字体大小 (属性值是整数字, ...
- Java网络爬虫 Jsoup
一.Jsoup介绍 我们抓取到页面之后,还需要对页面进行解析.可以使用字符串处理工具解析页面,也可以使用正则表达式,但是这些方法都会带来很大的开发成本,所以我们需要使用一款专门解析html页面的技术. ...
- sqlserver 标准系统数据库
SQL server系统数据库很重要,大部分时候都不应该修改他们.唯一例外的是model数据库和tempdb数据库.model数据库允许部署更改到任何新创建的数据库(如存储过程),而更改tempdb数 ...