使用新浪微博开放平台api同步微博内容至自己网站( +python模拟登陆新浪微博(2):)

优采云 发布时间: 2022-02-01 17:07

  使用新浪微博开放平台api同步微博内容至自己网站(

+python模拟登陆新浪微博(2):)

  

  上次准备用selenium + python模拟登陆新浪微博(这个方法太烂了)。最后我卡在了验证码链接。对于我这样的菜鸟,新浪太不友好了。完全没有考虑到我的感受。附上模拟登录代码。

  

  问题出在获取验证码图片的环节,这里新浪不知道怎么弄。地址是一样的,但是每次访问得到的验证码都不一样,所以无法得到正确的验证码。本来打算用selenium截图获取验证码,交给百度兽人鉴定。我发现百度的新浪验证码识别准确率低的可怕。

  所以,我放弃了。请改用官方提供的正确做法。这样你就不会被封号了。还是很不错的。官方 API 基本上是一个 rest 接口。它可以很容易地调用和获取。主要写在下面。如何成功获得授权。授权完成后,可以调用新浪接口获取数据(公开、公平)。

  

  官方的Api相当丰富。我主要用他们的评论,也用搜索界面。所以我认为它是完美的。

  首先,要访问这些东西,你需要有一个新浪帐号。然后点击:“微连接”创建应用程序。

  

  创建完成后。您可以在“我的应用程序”中找到它:

  

  点击应用进入后,可以看到应用的app key和App Secret。这两个很重要,后面会用到授权。

  

  获得授权。这里新浪使用了一种授权机制,叫做:OAuth2.0:简单来说就是你访问授权服务器,授权服务器给你返回一个证书,然后你就可以用这个证书访问新浪的其他接口。

  授权服务器相当于门卫的意思。你来到一座建筑。然后门卫给了一张*敏*感*词*。之后,您进入大楼。每次进入房间。门口的守卫都要求你提供刚进楼的人给你的*敏*感*词*。否则,您将被拒绝入境。大概就是这个意思。

  长话短说,直接看如何获取授权:

  授权需要自己配置回调地址。需要访问。除了在参数中添加这个地址外,还需要在你的应用程序中写入。那是:

  

  这里。我直接用 Flask 搭建了一个本地服务器:

  

  然后使用内网穿透软件。免费的是:natapp:

  

  渗透出来。这样我们就有了回调的地址。

  接下来看官方API:

  

  首先我们需要访问:

  这需要我们填写之前佩戴应用后获取的app key和我们构建的接受回调的地址:

  

  然后在浏览器中打开这个地址:

  

  点击Authorize(我的回调函数写的打印代码,所以这里直接打印代码,地址栏也可以拿到这个代码):

  

  之后,我们使用新浪给出的第二个url:

  此 url 需要使用 post 方法提交。

  代码也有自己的应用密钥和应用秘密。

  填写后提交:

  您将获得 json 格式的返回:

  {“access_token”:“asdasdasdadasdasdsadda”,“remind_in”:“1233566966”,“expires_in”:1233566966,“uid”:“”,“isRealName”:“true”}

  这就是我们最终的结果。代表我们授权成功。

  然后访问界面很容易。我们只保存 access_token。每次访问调用界面时都可以带上这个。

  接口测试可以使用谷歌的postman,或者新浪提供的测试工具

  新浪提供了一个接口测试工具,可以直接在线测试接口:这里我从之前爬过的微博列表中选择了一个ID为文章。请求后得到新浪返回的评论结果的json字符串。

  

  大概一目了然(一万多行的字符串):

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线