爬取百度翻译结果

思路

用到的模块

requests模块

requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。
作用:模拟浏览器发请求。
如何使用:requests模块的编码流程

- 指定url
        - UA伪装
        - 请求参数的处理
    - 发起请求
    - 获取响应数据
    - 持久化存储

实现代码
#Author:Hel10
#time:
#content:爬取百度翻译的结果
import requests
import json
if __name__ == '__main__':
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0'
    }  #进行UA伪装
    url = "https://fanyi.baidu.com/sug"    #指定url
    word = input("输入你要翻译的单词:")      #post请求的参数
    data = {
        "kw":word
    }
    response = requests.post(url=url,data=data,headers=headers) #进行post请求
    dict_obj = response.json()  #获取json数据,这个可以在请求头的content-type字段可以看到
    # 持久化储存
    filename = word+".json"
    fp = open(filename,'w',encoding='utf-8')
    json.dump(dict_obj,fp=fp,ensure_ascii=False)
    print("---------------翻译结束,请在根目录下查看结果---------------------")

翻译结果存储为json数据。

遇到的问题
(Caused by SSLError("Can't  connect to HTTPS URL because the SSL module is not available."))

解决方法:在stackoverflow上面看到好多的方法,全怼了一遍,也不知道到底是那种方法解决了这种报错。https://stackoverflow.com/questions/54135206/requests-caused-by-sslerrorcant-connect-to-https-url-because-the-ssl-module
1、在环境变量和用户变量里面都加了anaconda的路径

<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin

2、把D:\Anaconda\Library\bin目录下的

libcrypto-1_1-x64.*
libssl-1_1-x64.*

复制到了D:\Anaconda3\DLLs。
3、升级了一下anaconda的版本。参考这个 https://zhuanlan.zhihu.com/p/121601968

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值