hackerbob 发表于 2022-3-31 10:49

python百度翻译爬虫

本帖最后由 hackerbob 于 2022-4-21 21:55 编辑

初学爬虫,就拿百度翻译练练手
百度翻译网址:https://fanyi.baidu.com/
代码如下:
import requests
import re
while 1 < 10:
    f = 0
    url = "https://fanyi.baidu.com/sug"
    a = input("请输入要翻译的单词或句子:")
    head = {
      "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55"
    }
    dat = {
      "kw":a
    }
    b = requests.post(url,data=dat,headers = head)
    c = b.json()
    d = c['data']
    e = len(d)
    r = re.compile("{'k': '(?P<yc>.*?)', 'v': '(?P<fy>.*?)'}",re.S)
    while f < e:
      n = f + 1
      h = str(d)
      l = r.finditer(h)
      for m in l:
            print(str(n) + ". 原词: " + m.group("yc") + " 翻译 : " + m.group("fy"))
      f = f+1
      b.close()


蓝奏:https://wwz.lanzouh.com/iar8f02cgaub
密码:gg7r

surepj 发表于 2022-3-31 15:41

{:1_921:}学习了
百度翻译返回的数据是json,好像可以直接提取内容,re提取我还不会呢。
import requests

url = 'https://fanyi.baidu.com/sug'
words = input('请输入要翻译的文字:')
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36','Referer': 'https://fanyi.baidu.com/'}
data = {'kw': words}
resp = requests.post(url,headers=headers,data=data).json()
for i in resp['data']:
    print(f"{i['k']},{i['v']}")

运行效果:
请输入要翻译的文字:python
Python,蛇属,蟒蛇属
python,n. 巨蛇,大蟒
pythons,n. 巨蛇,大蟒( python的名词复数 )

hackerbob 发表于 2022-3-31 17:05

surepj 发表于 2022-3-31 15:41
学习了
百度翻译返回的数据是json,好像可以直接提取内容,re提取我还不会呢。


{:1_893:}原来如此,我也学习了,竟然可以通过替换字符的方式来提取,感谢

ZhenMex 发表于 2022-4-21 21:54

坏了,之前写代码觉得变量名啥的无所谓,能用就行,现在读起来感觉真难受&#128514;,还有个问题,这个定义了head吧但是没有加headers参数吧

JustLetItBe 发表于 2022-4-22 11:21

感谢分享

fkue587 发表于 2022-4-29 23:16

老哥能单独出一个 百度翻译 截图翻译那个吗??多谢多谢

zm55555 发表于 2022-4-30 09:42

谢谢分享!

beyond1994 发表于 2022-5-14 10:39

surepj 发表于 2022-3-31 15:41
学习了
百度翻译返回的数据是json,好像可以直接提取内容,re提取我还不会呢。


楼主的没看懂,你这个我看懂了:'(weeqw

heiyijiushi 发表于 2022-5-25 12:39

这个是单词的接口,

huowulianyu 发表于 2023-11-22 19:18


感谢分享,学习中
页: [1] 2
查看完整版本: python百度翻译爬虫