薅"百度翻譯"羊毛的起因 :
最近博主在https://unsplash.com搜索免費(fèi)可商用圖片的時(shí)候, 發(fā)現(xiàn)...
- 搜索"蘋果"
- 搜索"apple"
如果我們能用Python3把"蘋果"翻譯成"apple", 然后用Python3爬蟲批量獲取圖片就完美了
爬蟲獲取圖片鏈接并不難, Unsplash本身提供了開源的接口(以apple為例): https://unsplash.com/napi/search/photos?query=apple
如何用Python3把"蘋果"翻譯成"Apple"?
- 最好的方法是google在線翻譯, 但國內(nèi)很多地區(qū)上不了google, 而且google翻譯接口名義上是收費(fèi)的
- 在國內(nèi)推薦用百度, 好處一: 訪問速度快; 好處二: 可以擼羊毛, 一個(gè)月可以免費(fèi)翻譯2000000個(gè)字符, 不用白不用
怎么用?
- 進(jìn)入百度開放平臺(tái), https://fanyi-api.baidu.com/api/trans/product/index, 立即使用
- 然后百度會(huì)讓你登錄, 然后填一個(gè)申請(qǐng)成為百度開發(fā)者的表格, 填完后, 可以查看自己的開發(fā)者信息(需要填寫表單, 填寫的內(nèi)容很簡單, 下面是提交后, 展示信息的截圖)
- 查看百度翻譯的技術(shù)文檔: https://fanyi-api.baidu.com/api/trans/product/apidoc#joinFile
- 下載百度翻譯Python版Demo
吐槽一下, 在python2即將被廢棄的今天, 百度提供的示例Demo居然只有python2版本
- 博主把百度的demo從python2版本轉(zhuǎn)換為了python3版本, 轉(zhuǎn)換后的代碼如下:
import http.client
import hashlib
import urllib.parse
import random
import json
def baiduTranslate(q="蘋果", fromLang="zh", toLang="en"):
appid = '' #你的appid(這里是必填的, 從百度 開發(fā)者信息一覽獲取)
secretKey = '' #你的密鑰(這里是必填的, 從百度 開發(fā)者信息一覽獲取)
httpClient = None
myurl = '/api/trans/vip/translate'
salt = random.randint(32768, 65536)
sign = appid+q+str(salt)+secretKey
m1 = hashlib.md5()
m1.update(sign.encode())
sign = m1.hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
result = ""
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
#response是HTTPResponse對(duì)象
response = httpClient.getresponse()
result = response.read()
except Exception as e:
print (e)
finally:
if httpClient:
httpClient.close()
return result
def main():
print(json.loads(baiduTranslate(q="蘋果")))
if __name__ == '__main__':
main()
運(yùn)行效果
- 詩興大發(fā), 來兩句詩
- 黃河之水天上來, 奔流到海不復(fù)回
The water of the Yellow River rises in the sky and runs to the sea and never returns.
- 天若有情天亦老, 人間正道是滄桑
If heaven is sentimental and heaven is old, the right way on earth is vicissitudes of life.
小結(jié):
- 雖然大家都喜歡黑百度, 但也離不開百度的產(chǎn)品, 就像博主,每隔三個(gè)月就要老老實(shí)實(shí)給百度網(wǎng)盤的超級(jí)會(huì)員續(xù)費(fèi), 否則就要失去5個(gè)T的空間
- 既然百度給了大家一個(gè)薅羊毛的機(jī)會(huì), 大家就用我提供的Python腳本來薅百度翻譯的羊毛吧, 每月有2000000根羊毛可以薅呢~