思路借鑑:大佬區別:get請求的引數會在夾雜url中(模擬明信片) post請求的引數則會儲存在from data中(模擬寫信)
而有道翻譯就是很經典的post請求案列。
我在抓包工具上獲得了boby資訊:
i said
from auto
to auto
smartresult dict
client fanyideskweb
salt 15860279984523
sign 8794e6e13fb52862ef4239f376db451c
ts 1586027998452
bv 04578d470e7a887288dc80a9420e88ec
doctype json
version 2.1
keyfrom fanyi.web
action fy_by_clickbuttion
更換翻譯詞:name
i name
from auto
to auto
smartresult dict
client fanyideskweb
salt 15860282119225
sign cea422f26cc5e4ef485addabb044fc92
ts 1586028211922
bv 04578d470e7a887288dc80a9420e88ec
doctype json
version 2.1
keyfrom fanyi.web
action fy_by_clickbuttion
import urllib.request
import urllib.parse
import time
import random
import hashlib
import re
url =
""data =
i=input
("請輸入要翻譯的詞:"
)#i = 'i lov you baby'
data[
'i']
=idata[
'from']=
'auto'
data[
'to']=
'auto'
data[
'smartresult']=
'dict'
data[
'client']=
'fanyideskweb'
data[
'doctype']=
'json'
data[
'version']=
'2.1'
data[
'keyfrom']=
'fanyi.web'
data[
'action']=
'fy_by_realtime'
data[
'typoresult']=
'false'
u ='fanyideskweb'
f =str
(int
(time.time()*
1000
)+random.randint(1,
10))c =
"ebsefb%=xz%t[kz)c(sy!"
sign = hashlib.md5(
(u+i+f+c)
.encode(
'utf-8'))
.hexdigest(
)data[
'salt']=f
data[
'sign'
]=sign
data= urllib.parse.urlencode(data)
.encode(
'utf-8'
)response = urllib.request.urlopen(url,data)
html=response.read(
).decode(
'utf-8'
)key=html[35:
43]a="zh_cn2en"
if key==a:
pattern=re.
compile
('"src":"(.*)",'
) translate=pattern.findall(html)
result=translate[0]
print
("翻譯結果為:"
+str
(result)
)else
: pattern=re.
compile
('"tgt":"(.*)"'
) translate=pattern.findall(html)
result=translate[0]
print
("翻譯結果為:"
+str
(result)
)
我對 xianwan029 的**進行了一點小小改進,讓我們的輸出結果更加人性化,接下來展示下試驗結果。
感謝:xianwan029 的源**提供思路讓我成功爬取了頁面,
爬蟲二 有道翻譯
import time,random,json from func all import post md5加密函式 defmd5 need str import hashlib 建立md5物件 md5 o hashlib.md5 需要有bytes,作為引數 sign bytes need str.e...
爬蟲 有道翻譯
import time import requests import hashlib class youdaofanyi def get cookie self url ret requests.get url url return ret.headers.get set cookie def tr...
有道翻譯 爬蟲
目標 user agent身份驗證 請求頭設定 請求體資料 傳送請求並接收響應 接收資料簡單處理 在抓包工具中找到目標 或者在瀏覽器開發者工具中找到 不要找錯了 user agent身份資訊,這個比較簡單請求頭內容用抓包工具可以獲得抓包工具中的body表單 一般都是json格式的資料pycharm中...