Python爬虫练习(1)——调用百度翻译

注:Python版本:3.6.3;编译环境:Pycharm

1.用chrome浏览器打开百度翻译页面,空白处右键点击“检查”。
2.在翻译框中输入文本;点检查窗口中的“clear”清除当前显示。

点clear

3.点击“翻译”下方出现请求列表。

这里写图片描述

4.左边栏的“langdetect”是语言检测的请求,“v2transapi”是执行翻译的请求;右边栏的“Headers”是该请求的请求头部,“Response”是响应。代码中会用到两个请求中的:

“Headers”->“General”->“Request URL”,
“Headers”->“Request Headers”->“User-Agent” (两个一样)
“Headers”-> ”Form Data“
“Response”

5.用Python中的第三方模块"requests"实现如下:

	import requests
	import json

	headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}
	#2个请求的URL地址
	langdetect_url = "http://fanyi.baidu.com/langdetect"
	transapi_url = "http://fanyi.baidu.com/v2transapi"

	while True:
	    input_word = input("Translate input: ")

	    langdetect_data = {"query":input_word}
	
	    langdetect_resp = requests.post(langdetect_url, headers=headers, data=langdetect_data)
	    langdetect_dict = json.loads(langdetect_resp.content.decode())
	    # print(langdetect_dict)
	    langdetect = langdetect_dict["lan"]
	
	    if langdetect == "en":  #检测到输入为英文,翻译成中文
	        langtransto = "zh"
	    else:
	        langtransto = "en"  #输入为中文则翻译成英文
	
	    transapi_data = {"from":langdetect,
		             "to":langtransto,
	                     "query":input_word,
	                     "transtype":"translang",
	                     "simple_means_flag":3,
	                     "sign":484403.231170,
	                     "token":"9b9736e837ab4fd40c9b0ee85b7fa213"}
        #sign和token不同的用户可能不一样
        
	    transapi_reap = requests.post(transapi_url, headers=headers, data=transapi_data)
	
	    transapi_dict = json.loads(transapi_reap.content.decode())
	    #json.loads()函数可以将网页的响应转化为字典格式
	    #(如果响应的格式是像字典一样的字符串,即json字符串,的话)
	    trans_str = transapi_dict["trans_result"]["data"][0]["dst"]

5.Pycharm中的执行结果:

这里写图片描述

知乎:@陈小白233
公众号:一本正经的搬砖日常

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值