API没有开放的数据,再采用模拟登录的方法
优采云 发布时间: 2021-05-03 21:14API没有开放的数据,再采用模拟登录的方法
我写了一篇关于到新浪微博的模拟登录的文章,该文章使用POST用户名/密码参数(已加密)并保存cookie来模拟登录。
通常,为了确保安全性,网站会定期更新登录详细信息,例如修改参数名称,更新加密(哈希)算法等。因此,用于模拟登录的代码肯定会定期失败,但是如果网站尚未进行重大更新,仍然可以使用微小的更改。另外,处理验证码甚至更加困难。尽管该程序可以在一定程度上识别验证码字符,但目前很难找到一种简单而通用的验证码识别程序。
许多豆有报道说,他们需要模拟登录新浪微博来捕获数据。实际上,对于一般的微博数据采集,例如用户信息,微博内容等,使用微博开放平台API是一个更明智的选择:速度更快,节省很多网页处理工作。对于未向API开放的数据,我们然后使用模拟登录的方法。
熟悉Web的朋友只要定期维护用于模拟登录的代码,就可以成功登录到微博。如果您不太熟悉,您可以实际使用一种更幼稚的方法来解决:直接将Cookie发送到新浪微博以实现模拟登录。
1,获取Cookie
这很简单。您可以使用Chrome浏览器的“开发人员工具”或Firefox的“ HTTPFOX”等插件直接查看自己的新浪微博Cookie。 (注意:请勿泄露此私人Cookie!)
2。提交Cookie作为访问微博的标题参数
headers = {'cookie':'your cookie'}
req = urllib 2. Request(url,headers = headers)#每次访问该页面时都要提交标题
r = urllib 2. urlopen(req)
查看具体代码:
这很痛苦,认为只要您登录新浪微博,就可以获取微博列表,但结果是一个js块。 。 。继续学习。 。