無聊學爬蟲(二) 有道翻譯傳送post請求

2021-10-04 18:29:51 字數 2619 閱讀 8197

思路借鑑:大佬

區別: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中...