Python爬虫基础之百度翻译的实现

作者: 蒙奇奇路西 | 来源:发表于2017-07-11 09:59 被阅读1132次

注:本文是根据小甲鱼的《零基础入门学习Python》一书关于爬虫实现有道翻译章节所做的的一个修改,有道翻译官方对有些参数做了“手脚“所以实现起来不那么容易了,所以我选择百度翻译作为新手的一个入门学习

1.首先需要导入urllib包的request模块

import urllib.request

2.小试牛刀

import urllib.request as g
response=g.urlopen("http://www.qq.com/")
html=response.read()
html=html.decode("utf-8")
print(html)

简单的几行代码就可以将腾讯网首页内容获取出来了,是不是很简单

3.下面就开始正式的练手了

首先来到百度翻译的首页百度翻译
如下图所示,按f12打开开发者模式,点击翻译按钮,在Network中就可以将你的一些请求信息获取到

其中Request URL:http://fanyi.baidu.com/v2transapi以及下图的表单提交信息需要我们去获取的

知道了这些,下面就很简单了

4.参考代码

import urllib.request
import urllib.parse
import json
content=0
while True:
        content=input("请输入需要翻译的内容:")
        if content!='quit':
                url="http://fanyi.baidu.com/v2transapi"
                data={}
                data['from']='zh'
                data['to']='en'
                data['query']=content
                data['transtype']='translang'
                data['simple_means_flag']='3'
                data=urllib.parse.urlencode(data).encode("utf-8")
                response=urllib.request.urlopen(url,data)
                html=response.read().decode("utf-8")
                target=json.loads(html)
                tgt=target['trans_result']['data'][0]['dst']
                print("翻译的结果是:%s"% tgt)
        else:
                break

运行结果:

运行结果

5.感悟

兴趣是最好的老师,希望大家在学习的时候多多的找到一些编程的乐趣,多动手去实现一些小的demo

相关文章

网友评论

  • b6eeace5958e:trans_result,字典里没这个元素,你怎么调用的?
    梅子阳:我试着打印了字典里的所有元素,已经没有trans_result这个元素了:{'error': 997, 'from': 'zh', 'to': 'en', 'query': 'hello'};这个端口百度还在用,但是应该已经写了反爬机制了。
  • 王牌推荐君:如果不是用urllib.requests,而是用requests写的话怎么写?
    蒙奇奇路西:我传到了github上,
    https://github.com/humyue/PySpiderDemo/blob/master/translate_requests.py
    c0dd144a4cee:@挑剔的B君 requests为python3.x,urllib.requests为python2.x
  • Mo丶染洛凉:二楼真的是没有观察能力,哈哈,这就是自学过程必备的技能,善于发现问题,解决问题。我也在自学python。
  • Jaybin_6159:你好 我刚刚试了你的小试牛刀代码运行出错 我不知道怎样修改 说是什么编码的问题 麻烦你修改了告诉我,谢谢
    蒙奇奇路西:我看了一下,腾讯网将网页编码改成了别的编码了,你可以换别的网址试试,新浪网等(http://www.sina.com.cn)

本文标题:Python爬虫基础之百度翻译的实现

本文链接:https://www.haomeiwen.com/subject/jtmphxtx.html