解决连接百度端口的若干问题: ——获取access_token
解决连接百度端口的若干问题:
——获取access_token
1)一开始报错
{"error":"invalid_client","error_description":"unknown client id}
查了开发文档之后发觉是Client_id错了:http://developer.baidu.com/wiki/index.php?title=docs/oauth/error
回去查代码,发觉id多了个空格,删除后问题解决
2)运行后原网站的中文无法显示,尽管编码改成utf-8,即:
#content = bs4.BeautifulSoup(r.content.decode("utf-8"), "lxml")
仔细核对后发觉,返回的是原始数据,其中的中文确实不是utf-8的编码。
而要把中文正确显示,只需要返回形式改成json而不是text或者content即可。附上正确代码:
import urllib, sys
import ssl
import urllib.request
import requests
import bs4
from parser import *
# client_id 为官网获取的AK, client_secret 为官网获取的SK
r = requests.get ('https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=用户名&client_secret=密码')
#content = bs4.BeautifulSoup(r.content.decode("utf-8"), "lxml")
r.json()
print(r.text)#返回的是原始数据
print("======")
print(r.json())#返回正确中文的json