Python爬虫教程-05-python爬虫实现百度翻译

本文详细介绍了如何使用Python爬虫实现百度翻译功能,包括通过浏览器开发者工具获取请求地址,模拟POST请求发送翻译内容,并提供了实现代码及运行示例。
摘要由CSDN通过智能技术生成
                       

使用python爬虫实现百度翻译功能

python爬虫实现百度翻译: python解释器【模拟浏览器】,发送【post请求】,传入待【翻译的内容】作为参数,获取【百度翻译的结果】

通过开发者工具,获取发送请求的地址

提示: 翻译内容发送的请求地址,绝对不是打开百度翻译的那个地址,想要抓取地址,就要借助【浏览器的开发者工具】,或者其他抓包工具

下面介绍获取请求地址的具体方法

以Chrome为例
  • 打开百度翻译:http://fanyi.baidu.com/
  • 【点击右键】>【检查】>【network】(如果是火狐浏览器,点击【网络】)
  • 点击【XHR】项,(有些需要刷新,有些异步的请求不需要刷新)
  • 在页面【输入翻译的词汇】
  • 在XHR项下,查找包含【输入需要翻译的词汇】的请求
  • 查看请求的参数,需要【点击请求】>【Headers】>最下面的【Form Data】
    (这里有一个坑:我们会发现有多个sug项,其实是因为百度翻译只要每输入一个字母就会发送一次请求,所以虽然多个请求的地址都是一样的,但是只有最后一个sug项的参数才是最后的词汇)

操作截图 :

这里写图片描述

请求地址在这里这里写图片描述

献上实现的代码

直接上代码,具体步骤下载注释上了

# python爬虫实现百度翻译# urllib和request POST参数提交# 缺少包请自行查看之前的笔记from urllib import request,parseimport jsondef fanyi(keyword):    base_url = 'http://fanyi.baidu.com/sug'    # 构建请求对象    data = {        'kw': keyword    }    data = parse.urlencode(data)    # 模拟浏览器    header = {"User-Agent": "mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}    req = request.Request(url=base_url,data=bytes(data,encoding='utf-8'),headers=header)    res = request.urlopen(req)    # 获取响应的json字符串    str_json = res.read().decode('utf-8')    # 把json转换成字典    myjson = json.loads(str_json)    info = myjson['data'][0]['v']    print(info)if __name__=='__main__':    while True:        keyword = input('请输入翻译的单词:')        if keyword == 'q':            break        fanyi(keyword)
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

代码运行

这里写图片描述

后续还会更精彩

python爬虫实现百度翻译: python解释器【模拟浏览器】,发送【post请求】,传入待【翻译的内容】作为参数,获取【百度翻译的结果】

更多文章链接:Python 爬虫随笔


- 本笔记不允许任何个人和组织转载

           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值