当前位置:   article > 正文

爬虫实战 ——百度翻译_爬虫 百度翻译

爬虫 百度翻译

使用post请求:

requests.post(url,data, headers)

寻找url:

 

1.打开百度翻译,随便输入一段值:

2.鼠标右击,打开检查选项,点击“网络”

 

 3.点击fetch/XHR

 4.在翻译面板里随便输入或删除一些字,比如把“早上好”的“好”删除

我们发现删去“好”后多出了很多新东西,比如sug

5,点击sug

 发现标头里有我们想要的URL:https://fanyi.baidu.com/sug

于是我们把url找到了

接下来开始写程序:

  1. # 导入工具包
  2. import requests
  3. import json
  4. #爬取百度翻译
  5. def baidu_spider(keyword:str='早上好')->str:
  6. """
  7. 根据关键字爬取百度翻译信息
  8. :param keyword: 需要翻译的文本
  9. :return: 百度翻译结果
  10. """
  11. if keyword is None:
  12. print("Parameter keyword should not be None!")
  13. return
  14. #1.指定链接
  15. url="https://fanyi.baidu.com/sug"#通过网页逆向工程得到
  16. #2.UA伪装
  17. headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'}
  18. #3.POST参数设置
  19. params={'kw':keyword}
  20. try:
  21. #4.发送请求
  22. r = requests.post(url=url, data=params, headers=headers)
  23. r.raise_for_status() # 如果状态不是200,引发HTTPError异常
  24. r.encoding = r.apparent_encoding # 获取并设置字符编码
  25. # 5.获取响应的信息
  26. dict_obj = r.json()
  27. #6.持久化存储
  28. fileName = keyword + '.json'
  29. fp = open(fileName, 'wt', encoding='utf-8')
  30. json.dump(dict_obj, fp=fp, ensure_ascii=False)
  31. fp.close()
  32. print("翻译结果: ", dict_obj["data"])
  33. except:
  34. print('error')
  35. return None
  36. if __name__ == "__main__":
  37. keyword=input("请输入需要翻译的中文:")
  38. baidu_spider(keyword)

看看运行结果:

嗯哼!完工! 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/352898
推荐阅读
相关标签
  

闽ICP备14008679号