小甲鱼课程,通过requests实现访问并获取数据
- 首先了解第三方urllib
首先了解第三方urllib
-
urllib是Python自带的标准库,无需安装,直接可以用
主要提供了以下功能:
- 网页请求
- 响应获取
- 代理和cookie设置
- 异常处理
- URL解析
- (详细用法可以百度了解一下)
因为是跟课程写的,所以可以推荐大家去看一下视频。
b站视频
首先我们要获取访问的网址
> 在百度搜索 ‘有道翻译’
> 然后打开,查看源代码,点击Network,然后在翻译框里随便输入一个翻译内容,便可发现源代码框里有一个translate开头的一个模块点击进去,找到Headers下的
> Request URL:Request URL: http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
> 这个就是我们要的访问网址。
如图
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB9EerpWTxkEROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0ADN3EzNxEjM5ETMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
接下来再找到data板块,将里面的内容复制下来
找到这两部分接下来就可以写代码了。
代码
```python
import urllib.request
import urllib.parse
import json #导入库
content = input("请输入要翻译的内容 : ") #读取翻译内容
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' #将访问网址赋值给url 变量。这里要删除掉‘_o’这一部分要不然可能访问失败
data = {} #定义一个字典,将data数据存入
data['i'] = content
data['doctype'] = 'json'
# data = urllib.parse.urlencode(data).encode('utf_8')
# response = urllib.request.urlopen(url, data)
# html = response.read().decode('utf-8')
# target = json.loads(html)
# print("result: %s" % (target['translateResult'][0][0]['tgt']))
#后来发现只需要将 ‘i’,‘docype’ 存入就可以了,其他的无所谓。
data = urllib.parse.urlencode(data).encode('utf-8')
response = urllib.request.urlopen(url, data)
html = response.read().decode('utf-8')
target = json.loads(html)
print("翻译的结果为 : %s" % (target['translateResult'][0][0]['tgt']))
**接下来就可以尝试一下了。**