1. 程式人生 > >Python編寫有道翻譯介面小工具

Python編寫有道翻譯介面小工具

前幾天剛剛學習了urllib和json庫

urllib 庫主要是檢視一個網站網頁的原始碼。多於正則,bs配合編寫爬蟲。

它還有一個重要的功能是,能向網站提交get post的請求

還有附帶的幾個模組

urllib.request 請求模組
urllib.error 異常處理模組
urllib.parse url解析模組
urllib.robotparser robots.txt解析模組

urlopen:response = urllib.request.urlopen('http://httpbin.org/get', timeout=0.1)

request:request = urllib.request.Request('https://python.org')

response = urllib.request.urlopen(request)         等同上一條

add_headers:新增頭資訊

request = urllib2.Request(url)
request.add_header('User-Agent', 'fake-client')
response = urllib2.urlopen(request)

ProxyHandler:設定代理

import urllib.request

proxy_handler = urllib.request.ProxyHandler({
    'http': 'http://127.0.0.1:9743',
    'https': 'https://127.0.0.1:9743'
})
opener = urllib.request.build_opener(proxy_handler)
response = opener.open('http://httpbin.org/get')
print(response.read())

HTTPCookiProcessor:新增cookie

import http.cookiejar, urllib.request
cookie = http.cookiejar.CookieJar()
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
response = opener.open('http://www.baidu.com')
for item in cookie:
    print(item.name+"="+item.value)

json庫:主要編寫字串

#!/usr/bin/python
import json

data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]

json = json.dumps(data)
print json

準備以此編寫一個小東西

import urllib.request 
import json
import urllib.parse
#Request URL
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
while 1:
    i = input("請輸入要翻譯的文字(---q---退出):")
    if i=='q':
        print("退出")
        break
    url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
    
    data = {}
    header = {}
    
    header["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0"

 
    data['action'] = 'FY_BY_CLICKBUTTION'
    data['client'] = 'fanyideskweb'
    data['doctype'] = 'json'
    data['from'] = 'AUTO'
    data['i'] = i
    data['keyfrom'] = 'fanyi.web'
    data['salt'] = '1531752128194'
    data['sign'] = '88c77b4bcd6541ac488740afd5919019'
    data['smartresult'] = 'dict'
    data['to'] = 'AUTO'
    data['typoResult'] = 'false'
    data['version'] = '2.1'
#轉碼,data引數如果要傳必須傳bytes(位元組流)型別的,如果是一個字典,先用urllib.parse.urlencode()編碼。
    data = urllib.parse.urlencode(data).encode("utf-8")
#開啟連結
    req = urllib.request.Request(url,data,header) #Request設定,傳送資料和header
    response = urllib.request.urlopen(req)
    # response = urllib.request.urlopen(url,data,head)
#轉為Unicode
    html = response.read().decode("utf-8") #輸出為json格式
#json檔案讀取
    target = json.loads(html)
#最終字典列表輸出
    print(target["translateResult"][0][0]["tgt"])
   

以上指令碼cmd執行就可以得到一個線上的有道翻譯的介面。

小白。。。。。大佬勿噴!

相關推薦

Python編寫翻譯介面工具

前幾天剛剛學習了urllib和json庫 urllib 庫主要是檢視一個網站網頁的原始碼。多於正則,bs配合編寫爬蟲。 它還有一個重要的功能是,能向網站提交get post的請求 還有附帶的幾個模組 urllib.request 請求模組 urllib.error 異

python 自制翻譯工具

一、登陸有道翻譯頁面,分析請求 url地址:http://fanyi.youdao.com/ 綜合上述分析,當改變裡面內容時,Form Data(向後臺傳送的資料)中salt、sign、ts的值在變化,其他幾個沒有變化 二、找到請求的JS 連結地址為:http://shar

Python破解翻譯反爬蟲機制

破解有道翻譯反爬蟲機制 web端的有道翻譯,在之前是直接可以爬的。也就是說只要獲取到了他的介面,你就可以肆無忌憚的使用他的介面進行翻譯而不需要支付任何費用。那麼自從有道翻譯推出他的API服務的時候,就對這個介面做一個反爬蟲機制(如果大家都能免費使用到他的翻譯介面,那他的

Python(4) 用Python破解翻譯反爬蟲機制

web端的有道翻譯,在之前是直接可以爬的。也就是說只要獲取到了他的介面,你就可以肆無忌憚的使用他的介面進行翻譯而不需要支付任何費用。那麼自從有道翻譯推出他的API服務的時候,就對這個介面做一個反爬蟲機制(如果大家都能免費使用到他的翻譯介面,那他的API服務怎麼賺錢)。這個反爬蟲機制在爬

翻譯介面 破解

有道翻譯 API 最近有些任務需要將中文翻譯成英文,由於個人英文水平問題,每次都要開啟好幾個線上翻譯網頁,一句一句的丟進去,取最佳者為所用,甚是麻煩。 任務完成之後,就稍微研究了一下各個翻譯介面(Github地址,求star),下面以 “有道翻譯 API”

Python學習】python爬蟲翻譯的實現

一、有道翻譯 1.1  實驗環境         Anaconda2-4.3.1(Python2.7) 1.2  所需模組         ①request         ②json 1.3  一些

利用python進行翻譯

# -*- coding: UTF-8 -*- from urllib import request from urllib import parse import json def youdao(English): Request_URL='http://fany

基於微信公眾平臺的Python開發——翻譯

版本:1.1,請求方式:get,編碼方式:utf-8 主要功能:中英互譯,同時獲得有道翻譯結果和有道詞典結果(可能沒有) 引數說明:  type - 返回結果的型別,固定為data  doctype - 返回結果的資料格式,xml或json或jsonp  version - 版本,當前最新版本為

python編寫檢視是否新郵件的工具

  最近因為總是要檢視是否有重要的工作郵件,頻繁登入幾個郵件網站,覺得很繁瑣,於是用python寫了個查詢是否有新郵件和下載郵件資訊的小工具。至於為什麼沒寫收取郵件的工具,是因為不是每天都收到新郵件,而且現在很多廣告郵件,不必都收取。  使用過程:先通過小工具檢查是否有新郵

Python爬蟲】翻譯最新爬蟲教程,帶GUI應用介面,2018年3月18日實測可用

最新的有道翻譯爬蟲程式碼,包含應用程式介面,更新於20180318import urllib.request import urllib.parse import json import time import gzip import random import hashli

python爬蟲實戰】python3.x用requests和bs4實現翻譯(中英文)

一直用的是python3.x版本的,剛開始學爬蟲的時候學長給了我個爬有道翻譯的小程式,實現中英文翻譯,由於是用urllib庫的,當時也是剛接觸python,所以一臉懵逼,現在學了一個月了,回頭再看了一下,感覺很時間單,於是就用requests庫和bs4,加上js

Python 呼叫翻譯介面

最近為了熟悉一下 js 用有道翻譯練了一下手,寫一篇部落格記錄一下,也希望能對大家有所啟迪,不過這些網站更新太快,可能大家嘗試的時候會有所不同。 首先來看一下網頁 post 過去的資料 大家不難發現,我們翻譯的內容是放在 post 的 data 中

運用api介面寫一個翻譯(簡單版)

package com.zhidi.zuoye; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStrea

翻譯介面練習post請求py2

# -*- coding:utf-8 -*-import urllibimport urllib2#post請求urlurl = 'http://fanyi.youdao.com/translate'#post請求headersheaders = {"User-Agent":

python之爬蟲的入門03------post請求偽造、程式猿是怎麼玩翻譯

import urllib.request import urllib.parse import json content = input('請輸入要翻譯內容:') # url = 'http://fanyi.youdao.com/translate_o?smartresult=di

利用爬蟲技術,仿翻譯案例

import requests import time import hashlib import json inputInfo = input('請輸入你想要翻譯的內容:') # 請求的url必須是點選翻譯後跳轉出來的頁面路由 url = 'http://fanyi.youdao.co

基於Python的多執行緒爆破工具!誰用誰就知道它多屌了!

0×0 背景   進群:548377875  就可以獲取數十套小編精心準備的PDF以及零基礎到進階的教程! Patator是出於對使用Hydra,Medusa,Ncrack,Metasploit模組和Nmap NSE指令碼進行密碼猜測攻擊而感到失望後, 選擇了不

要考三級了!我用Python詞典單詞轉化成EXCEL!答題助手

  import xml.etree.ElementTree as ET import pandas as pd import numpy as np tree = ET.parse('words.xml') root = tree.getroot() words = pd.Da

非官方介面-查詢英語單詞詳細資訊 C# API翻譯 查詢單詞詳細資訊

有道翻譯有官方介面,也有非官方介面。 有道官方介面 官方介面:https://openapi.youdao.com/openapi 可查詢英語單詞註釋、單詞發音、網路釋義(不一定存在),可獲取線上發音地址。 具體使用,可參考 C# 有道API翻譯 查詢單詞詳細資訊 有道非官方介面 何謂非官方介面,

python 翻譯

import requests import time import random import hashlib i = str(int(time.time()*1000)+random.randint(1,10)) t = input("please input the word you want t