requests模块post练习爬取百度翻译

2018-06-15  本文已影响0人  浪子彦卿L
1:通过argv调用
import requests, json, sys
def baiduTranslate():
    content = sys.argv[1]
    #1、 获取post的URL
    postUrl = "http://fanyi.baidu.com/basetrans"
    headers = {
        "User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36",
        }
    data = {
        "query": content,
        "from": "zh",
        "to": "en"
        }
    
    #2、 发送请求,获取响应
    response = requests.post(postUrl, headers = headers, data = data)
    jsonStr = response.content.decode()
    
    #3、 提取数据并展示
    dictStr = json.loads(jsonStr)
    resUlt = dictStr["trans"][0]["dst"]
    print("翻译结果为:%s" % resUlt)
baiduTranslate()



Linux下执行结果:
[root@www ~]# python3.6 baidu_fanyi.py 今天是美好的一天
翻译结果为:Today is a wonderful day
[root@www ~]# python3.6 baidu_fanyi.py 人生苦短,我用Python.
翻译结果为:Life is short, I use Python.
[root@www ~]# python3.6 baidu_fanyi.py 生存还是毁灭
翻译结果为:Survival or destruction

1:通过input传入需要翻译的内容调用
import requests, json
def baiduTranslate():
    content = input("请输入需要翻译的内容:")
    #1、 获取post的URL
    postUrl = "http://fanyi.baidu.com/basetrans"
    headers = {
        "User-Agent": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36",
        }
    data = {
        "query": content,
        "from": "zh",
        "to": "en"
        }

    #2、 发送请求,获取响应
    response = requests.post(postUrl, headers = headers, data = data)
    jsonStr = response.content.decode()

    #3、 提取数据并展示
    dictStr = json.loads(jsonStr)
    resUlt = dictStr["trans"][0]["dst"]
    print("翻译结果为:%s" % resUlt)
baiduTranslate()


Linux下执行结果:
[root@www ~]# python3.6 baidu_fanyi1.py 
请输入需要翻译的内容:今天是美好的一天
翻译结果为:Today is a wonderful day
[root@www ~]# 
[root@www ~]# 
[root@www ~]# python3.6 baidu_fanyi1.py 
请输入需要翻译的内容:人生苦短,我用Python。
翻译结果为:Life is short, I use Python
[root@www ~]# 

上一篇下一篇

猜你喜欢

热点阅读