Python獲取百度翻譯的兩種方法示例詳解
一、引言
百度是我們常用的搜索工具,其翻譯是與愛詞霸合作,總體看其反應(yīng)速度較快,可以作為項(xiàng)目中重要的翻譯工具。根據(jù)大家的需要,現(xiàn)提供兩種Python獲取百度翻譯的兩種辦法:
二、requests法
我們引用requests模塊,向百度發(fā)出post請(qǐng)求,得到回復(fù)后,進(jìn)行解釋為json格式數(shù)據(jù)。代碼如下:
import requests #找一個(gè)趁手的工具,1. 導(dǎo)入這個(gè)工具 url = "https://fanyi.baidu.com/sug" # 2. 確定爬取的網(wǎng)址,存到變量里面url #3. 偽裝爬蟲 headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36", "cookie":'PSTM=1715648276; BIDUPSID=4FAECEB2016218E5337788D59D97E028; BAIDUID=A4621D4AF575EB35000B164A4D71A6C9:FG=1; BDSFRCVID=gDDOJexroG3M1QJttZbIbSp-4cGQd7cTDYLEOwXPsp3LGJLVYVGdEG0PtEXPGLtMnhULogKKBeOTHg4F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=Jn-O_C82JKL3HJOmMJjE5bcHMhoK--Q0KKJyLR-8Kb7VbPQCyUnkbfJBDloD-l3-ajnJ0qboKfO2KDbTyT5OL447yajDJjOuXKJi_JC-QbT8ob53DJ7pQT8r2xDOK5OibmDqslnNab3vOpoNXpO1bT0zBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksDhAtqj0OfnIe_I0KfbjjfbTCMJOBq4k0-qJ-a4JQa5TbsJOOaCv5OpOOy4oTj6D0KqonK46JbIcBsRoR-TCMepk4MU5o3MvBKHKjWlRQWbcLof3V2fnq_Ij9Qft20bIEeMtjBbQuJtj7KR7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8bjHCJt6K8JbujoKvK-nO5KRQphRrhq4tehH4O5xJ9WDTOQJ7TthCaVqcm5h6D0-D9K2FJ5MbI5nv2-pbwBp5Cfb5K0jJHyUIzynjkLfbb3mkjbPbNyUJn8-bEh47lX-4syPRGKxRnWIkJKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCFMMDLwjTK2DTPBKMbeet5Kaj5tsJOOaCkWHqOOy4oWK441DPFDQxTJbNQabnoR-TCMHp3hb5Jj3M04X-oN-PQpLRvKahcIWMQZSl3gQft20b0kWb3xWn3uaDbP2n7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCJt6K8JbujoKvt-5rDHJTg5DTjhPrMbPORWMT-MTryKKOztxjkf-bL-xrD0nODjMbxQ40fKanRhlRNB-3iV-OxDUvnyxAZWJjxKUQxtNRJKxnx3hRM8Jrd3fvobUPULxo9LUvMJgcdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLK-oj-D8lj5AM3j; BD_UPN=12314753; H_WISE_SIDS=60360_60600_60728_60749; delPer=0; BD_CK_SAM=1; BAIDUID_BFESS=A4621D4AF575EB35000B164A4D71A6C9:FG=1; BDSFRCVID_BFESS=gDDOJexroG3M1QJttZbIbSp-4cGQd7cTDYLEOwXPsp3LGJLVYVGdEG0PtEXPGLtMnhULogKKBeOTHg4F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=Jn-O_C82JKL3HJOmMJjE5bcHMhoK--Q0KKJyLR-8Kb7VbPQCyUnkbfJBDloD-l3-ajnJ0qboKfO2KDbTyT5OL447yajDJjOuXKJi_JC-QbT8ob53DJ7pQT8r2xDOK5OibmDqslnNab3vOpoNXpO1bT0zBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksDhAtqj0OfnIe_I0KfbjjfbTCMJOBq4k0-qJ-a4JQa5TbsJOOaCv5OpOOy4oTj6D0KqonK46JbIcBsRoR-TCMepk4MU5o3MvBKHKjWlRQWbcLof3V2fnq_Ij9Qft20bIEeMtjBbQuJtj7KR7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8bjHCJt6K8JbujoKvK-nO5KRQphRrhq4tehH4O5xJ9WDTOQJ7TthCaVqcm5h6D0-D9K2FJ5MbI5nv2-pbwBp5Cfb5K0jJHyUIzynjkLfbb3mkjbPbNyUJn8-bEh47lX-4syPRGKxRnWIkJKfA-b4ncjRcTehoM3xI8LNj405OTbIFO0KJzJCFMMDLwjTK2DTPBKMbeet5Kaj5tsJOOaCkWHqOOy4oWK441DPFDQxTJbNQabnoR-TCMHp3hb5Jj3M04X-oN-PQpLRvKahcIWMQZSl3gQft20b0kWb3xWn3uaDbP2n7jWhvIeq72y-tMQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCJt6K8JbujoKvt-5rDHJTg5DTjhPrMbPORWMT-MTryKKOztxjkf-bL-xrD0nODjMbxQ40fKanRhlRNB-3iV-OxDUvnyxAZWJjxKUQxtNRJKxnx3hRM8Jrd3fvobUPULxo9LUvMJgcdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLK-oj-D8lj5AM3j; channel=baidusearch; baikeVisitId=356e66e5-f4fb-4dd9-99a8-06bbc9ceb739; __bid_n=18ea75651ea4944bc97197; BD_HOME=1; H_WISE_SIDS_BFESS=60360_60600_60728_60749; B64_BOT=1; COOKIE_SESSION=5687_0_7_7_7_16_0_0_4_6_0_0_715485_0_6_0_1727255911_0_1727255905|9#169_6_1718709886|3; PSINO=7; BDRCVFR[S4-dAuiWMmn]=mk3SLVN4HKm; BDRCVFR[k-3xBxsWSJs]=mk3SLVN4HKm; H_PS_PSSID=60600_60794_60826_60844; BA_HECTOR=85808lal0h0g0k8g8h258h8h8nq73q1jfd5bi1v; ZFY=CcXTJMCi9ht2ML4gezdFtbE9Uar1JmpUfQgd:BgWOiis:C'} while True: word = input("請(qǐng)輸入單詞:") resp = requests.post(url,headers = headers, data = {"kw":word}) # 發(fā)請(qǐng)求 for item in resp.json()['data']: #想看效果,就打印Item print(item["v"])
三、urllib法
導(dǎo)入urllib,發(fā)出Request向url請(qǐng)求,再用urlopen讀取并編碼為utf-8,最后獲取單詞的翻譯,代碼如下:
from urllib import request, parse import json def translate_word(string): url = "https://fanyi.baidu.com/sug" # 請(qǐng)求數(shù)據(jù)的url鏈接 data = {'kw': string} data_url = parse.urlencode(data) req = request.Request(url=url, data=data_url.encode('utf-8')) response = request.urlopen(req).read() res = json.loads(response) if 'data' in res and len(res['data']) > 0: trans_list = res['data'][0]['v'] if ';' in trans_list: trans = trans_list.split(';') else: trans = trans_list else: trans = "翻譯失敗" return trans_list print(translate_word("think"))
四、學(xué)后反思
對(duì)比兩種兩法,獲取的數(shù)據(jù)內(nèi)容不盡相同,第二種獲取的內(nèi)容較少,第一種獲取的內(nèi)容更為全面,方法也簡(jiǎn)單,但是獲取的內(nèi)容有重復(fù)。
大家可以根據(jù)個(gè)人的需求,選擇適合自己的代碼。
到此這篇關(guān)于Python獲取百度翻譯的兩種方法的文章就介紹到這了,更多相關(guān)Python獲取百度翻譯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決python給列表里添加字典時(shí)被最后一個(gè)覆蓋的問題
今天小編就為大家分享一篇解決python給列表里添加字典時(shí)被最后一個(gè)覆蓋的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python+tkinter制作經(jīng)典登錄界面和點(diǎn)擊事件
Tkinter是?Python?標(biāo)準(zhǔn)?GUI?庫(kù),簡(jiǎn)稱?“Tk”;從本質(zhì)上來說,它是對(duì)?TCL/TK?工具包的一種?Python?接口封裝。本文將利用tkinter制作一個(gè)經(jīng)典的登錄界面和點(diǎn)擊事件,需要的可以參考一下2022-09-09Python中read()、readline()和readlines()三者間的區(qū)別和用法
這篇文章主要給大家介紹了關(guān)于Python中讀取文件的read()、readline()和readlines()方法三者間的區(qū)別和用法,需要的朋友可以參考下2017-07-07pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解
這篇文章主要介紹了pytorch DataLoader的num_workers參數(shù)與設(shè)置大小詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05WINDOWS 同時(shí)安裝 python2 python3 后 pip 錯(cuò)誤的解決方法
這篇文章主要給大家分享的是在WINDOWS下同時(shí)安裝 python2 python3 后 pip 錯(cuò)誤的解決方法,非常的實(shí)用,有需要的小伙伴可以參考下2017-03-03Python讀取圖片為16進(jìn)制表示簡(jiǎn)單代碼
這篇文章主要介紹了Python讀取圖片為16進(jìn)制表示簡(jiǎn)單代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例
這篇文章主要介紹了python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例,大家參考使用吧2014-01-01