1 # Python爬虫学习第一记 8.24  (代码有点小,请放大看吧)
2
3 #实现有道翻译,模块一: $fanyi.py
4
5 import urllib.request
6 import urllib.parse
7 import json
8
9 # word 是将要传入的翻译的内容
10
11 def fanyi(word):
12 while 1:
13 # 去掉url中的 _o 可以解决反爬虫机制
14 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
15 data={} # 定义一个data字典
16
17 data['i']= word #don't del
18 data['doctype']='json' #don't del
19
20 #data['from']='AUTO'
21 #data['version']='2.1'
22 #data['keyfrom']='fanyi.web'
23 #data['ue']='utf-8'
24 #data['typoResult']='true'
25
26 # 对数据进行编码处理
27 data=urllib.parse.urlencode(data).encode('utf-8')
28
29 # 创建一个res对象,把url和data传进去,并且同时打开这个请求,并且需要注意的使用的是POST请求
30 res = urllib.request.urlopen(url,data)
31 # 进行读取数据并且进行解码操作
32 html=res.read().decode('utf-8')
33 tar=json.loads(html)
34
35 # 返回值为t,也就是翻译之后的内容
36 t=tar['translateResult'][0][0]['tgt']
37 return t
38
39 #初步完成,使用示例:t = fanyi('hello')
                                      ------BTLord 小白工作室

以上是第一个模块,接下来将引用以上的这个模块,利用easygui来创建简单图形用户界面

 

1 # 翻译的小助手  $ 8.27 爬虫(GUI简单界面)


2 import easygui as g 


  3 import sys 

  4

 import fanyi # 添加翻译模块

 while 1:
     # 弹出一个对话编辑框
ret=g.enterbox('请输入您想要翻译的内容:\n (输入为空将退出程序)','欢迎来到BTL小白工作室')
     # 判断用户点击情况,并且执行相应内容 if ret==None:
sys.exit(0) # 判断点 × 和取消 键的情况,如果是,退出程序 t=fanyi.fanyi(ret)
# 弹出一个选择框,返回值为1或0
if g.ccbox(t,choices=("继续翻译","不了/(ㄒoㄒ)/~~")):
t=fanyi.fanyi(ret)
else:
sys.exit(0) # 翻译的小程序到此,告一段落,(为什么是 小 程序呢,因为它只能翻译少许内容,具体多少呢,嘿嘿嘿!)

     这两个文件必须在同一个目录,才可以执行。

附上程序图  :

            

                                                2020-08-27   -BTL 小白工作室

Python爬虫学习第一记 (翻译小助手)的更多相关文章

  1. Python爬虫学习==>第一章:Python3+Pip环境配置

    前置操作 软件名:anaconda  版本:Anaconda3-5.0.1-Windows-x86_64清华镜像  下载链接:https://mirrors.tuna.tsinghua.edu.cn/ ...

  2. Pyqt5开发一款小工具(翻译小助手)

    翻译小助手 开发需求 首先五月份的时候,正在学习爬虫的中级阶段,这时候肯定要接触到js逆向工程,于是上网找了一个项目来练练手,这时碰巧有如何进行对百度翻译的API破解思路,仿造网上的思路,我摸索着完成 ...

  3. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

  4. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  5. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  6. Python爬虫学习:二、爬虫的初步尝试

    我使用的编辑器是IDLE,版本为Python2.7.11,Windows平台. 本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:二.爬虫的初步尝试 1.尝试抓取指定网页 ...

  7. 《Python爬虫学习系列教程》学习笔记

    http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...

  8. [转]《Python爬虫学习系列教程》

    <Python爬虫学习系列教程>学习笔记 http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多. ...

  9. Python爬虫学习:四、headers和data的获取

    之前在学习爬虫时,偶尔会遇到一些问题是有些网站需要登录后才能爬取内容,有的网站会识别是否是由浏览器发出的请求. 一.headers的获取 就以博客园的首页为例:http://www.cnblogs.c ...

随机推荐

  1. C#LeetCode刷题之#581-最短无序连续子数组( Shortest Unsorted Continuous Subarray)

    问题 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序. 你找到的子数组应是最短的,请输出它的长度. 输入: [2, 6, 4, 8, 10, ...

  2. JavaScript promise基础示例

    const { info } = console // cooking function cook() { info('[COOKING] start cooking.') const p = new ...

  3. 关于Hexo,Next主题的‘下一页’、‘上一页’按钮错误显示为html代码 的解决方法

    关于Next主题的'下一页'.'上一页'按钮错误显示为html代码的解决方法 我在建立自己的博客过程中遇到了页面'下一页'和'上一页'按钮显示为html代码<i class="fa f ...

  4. 如何将返回的JSon字符串用MAP格式读取

    语法是这样: ObjectMapper mapper = new ObjectMapper(); Map resultMap=null; resultMap = mapper.readValue(in ...

  5. 对拍(C++)

    对拍(C++) 对拍是什么 ​ 众所周知,当我们正在考试敲代码的时候,每一道题,都会有某种正解能拿到满分:当我们想不出正解时,我们往往可以打暴力代码来骗分. ​ 但是,当我们有思路写正解,但又担心自己 ...

  6. Asp.net Core 3.1 引用ORM工具包 yrjw.ORM.Chimp(EF + dapper + Autofac)使用教程

    yrjw.ORM.Chimp 介绍 It is not the encapsulation of ORM,a based on EF + dapper + Autofac, is repository ...

  7. 通过自定义资源扩展Kubernetes

    原文链接:通过自定义资源扩展Kubernetes

  8. go thrift demo

    接口:https://gowalker.org/github.com/apache/thrift/lib/go/thrift 参考文件:https://cong.im/2018/05/14/other ...

  9. 牛客网PAT练习场-个位数的统计

    思路:每接受一个字符,便统计一次即可 题目地址:https://www.nowcoder.com/questionTerminal/a2063993dd424f9cba8246a3cf8ef445 # ...

  10. Java方法传参,测试在方法内部改变参数内容是否会影响到原值

    我分了三种类型的参数进行测试 一.基本类型 public static void main(String[] args) { System.out.println("验证基本类型int作为参 ...