
网站调用新浪微博内容
网站调用新浪微博内容(新浪微博的用户接口和话题接口实现了(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-12-10 00:34
如标题所述,调用新浪微博的用户界面和话题界面,实现对新浪微博用户和关键词相关内容的搜索:
选择搜索昵称:
返回搜索昵称结果:
选择搜索微博内容:
返回微博搜索结果:
但内容超过屏幕长度,滚动条向下显示剩余内容:
使用的插件有:kendoUI.js,用于操作UI,给界面切换添加特效幻灯片。 jscex.js 学员异步加载数据,绑定搜索id和搜索微博按钮2个响应函数。还是用jQuery的ajax调用新浪微博加载对应的api数据。
本练习中遇到的问题并不平均。一开始就是不熟悉kendoUI造成的麻烦。在kendoUI中,所有页面内容都放在同一个页面上,但是使用data-role="view"来区分各个页面。默认第一页收录属性data-role="view" div;
接下来是api调用的跨域问题。本来打算用jsonp数据格式来解决这个问题,但是据说jscex可以解决这个问题。看了后面,发现jecex.js好像也是jsonp格式的。
看了jscex的样例,感觉好强大。但这一次只是简单地使用其定义的异步方法,$await()、$start() 来使用异步方法。以下是点击搜索昵称按钮的一系列操作的代码:
其实还有一个问题没有解决:在遍历返回的数据时,如果去掉if(index)判断语句,结果总是返回一个“undefined”。经过调试,发现underfined对应的索引其实是code,是正确的。结果对应的索引是数据。实在是没有办法,只能用这个判断了。希望以后能找到原因。 查看全部
网站调用新浪微博内容(新浪微博的用户接口和话题接口实现了(组图))
如标题所述,调用新浪微博的用户界面和话题界面,实现对新浪微博用户和关键词相关内容的搜索:
选择搜索昵称:
返回搜索昵称结果:
选择搜索微博内容:
返回微博搜索结果:
但内容超过屏幕长度,滚动条向下显示剩余内容:
使用的插件有:kendoUI.js,用于操作UI,给界面切换添加特效幻灯片。 jscex.js 学员异步加载数据,绑定搜索id和搜索微博按钮2个响应函数。还是用jQuery的ajax调用新浪微博加载对应的api数据。
本练习中遇到的问题并不平均。一开始就是不熟悉kendoUI造成的麻烦。在kendoUI中,所有页面内容都放在同一个页面上,但是使用data-role="view"来区分各个页面。默认第一页收录属性data-role="view" div;
接下来是api调用的跨域问题。本来打算用jsonp数据格式来解决这个问题,但是据说jscex可以解决这个问题。看了后面,发现jecex.js好像也是jsonp格式的。
看了jscex的样例,感觉好强大。但这一次只是简单地使用其定义的异步方法,$await()、$start() 来使用异步方法。以下是点击搜索昵称按钮的一系列操作的代码:
其实还有一个问题没有解决:在遍历返回的数据时,如果去掉if(index)判断语句,结果总是返回一个“undefined”。经过调试,发现underfined对应的索引其实是code,是正确的。结果对应的索引是数据。实在是没有办法,只能用这个判断了。希望以后能找到原因。
网站调用新浪微博内容(PHP下通过API实现与新浪微博同步应用测试好多次)
网站优化 • 优采云 发表了文章 • 0 个评论 • 52 次浏览 • 2021-12-08 03:14
(转)PHP下通过API与新浪微博同步
今天下午拿到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APPKEY和APPSECRET,复制并保存。
然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
在这里你会发现出错了: Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就不管了,点击下面的链接,然后又报错:对不起,那个页面没有存在!
说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此,我们不难想到流程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后必须验证APPKEY是否合法,并询问我们是否授权该应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写一条微博,最后点击发布,从官方新浪微博登录,可以看到文章您刚刚发送的消息,下面应该标有“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接后面的/callback.php是好的。
这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部
网站调用新浪微博内容(PHP下通过API实现与新浪微博同步应用测试好多次)
(转)PHP下通过API与新浪微博同步
今天下午拿到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APPKEY和APPSECRET,复制并保存。
然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
在这里你会发现出错了: Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就不管了,点击下面的链接,然后又报错:对不起,那个页面没有存在!
说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此,我们不难想到流程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后必须验证APPKEY是否合法,并询问我们是否授权该应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写一条微博,最后点击发布,从官方新浪微博登录,可以看到文章您刚刚发送的消息,下面应该标有“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接后面的/callback.php是好的。
这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-12-07 15:03
这几天为了发表论文,需要采集新浪微博的用户关系信息,形成复杂网络的结构图。好在微博提供了API供我们调用。折腾了一天,终于有点收获了。总结如下:
1.下载SDK
如果使用python调用API,必须先去下一个Python SDK,sinaweibopy
连接地址在这里:
可以用pip快速导入,github连接中的wiki也有入门方法,简单易懂。
2.了解新浪微博的授权机制
在调用API之前,我们首先要了解OAuth 2是什么,也就是新浪微博的授权机制。
在这里连接:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注册应用
每个人都可以通过新浪微博开发者平台注册自己的应用程序。我在网站上注册了应用程序。注册后,每个应用程序都会被分配一个唯一的app key和app secret,这在上面提到的授权机制中是需要的,相当于每个应用程序的标识。
至此,我们可以尝试编写代码来调用新浪微博的API。
4.简单调用API实例
参考了上面很多资料和文档,写了一个简单的调用流程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = ''
APP_SECRET = ''
CALLBACK_URL = ''
#这个是设置回调地址,必须与那个”高级信息“里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 获取URL参数code:
code = '2fc0b2f5d2985db832fa01fee6bd9316'
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/U ... %25B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通过上面的代码,我实现了调用相互关注API的调用,即找到一个特定id的用户互相关注的人的列表。
其中,APP_KEY 和 APP_SECRET 是上一篇文章中分配给每个应用程序的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,随便设置即可。
更恶心的是代码获取。当我阅读 sinaweibopy 文档时,我不明白这是什么意思。如上代码所示,获取到的URL为授权URL。我们通过了
webbrowser.open_new(url)
这行代码打开浏览器,跳转到授权界面,然后观察它所在界面的URL。它将显示类似于以下的格式:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有个code=……的东西,就复制等号后面的字符串,赋值给code,但是每次程序运行的时候,code都不是静态的,也就是说必须有每次都是这样的手册,每次拿到过程都觉得很麻烦,所以以后自己研究一下,实现代码自动获取。如果哪位大神能告诉我,感激不尽~
好了,拿到正确的code后,就可以完成授权认证了,就可以调用微博的API了。至于如何在Python下调用,我复制sinaweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source: string,OAuth授权方式不需要此参数,其他授权方式为必填参数,值为AppKey? 的应用程序。
access_token: string,OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获取。
uid: int64,要查询的用户ID。
screen_name:字符串,待查询用户的昵称。
(其他可选参数省略)
调用方式:将API的“/”改为“.”,根据请求格式是GET还是POST,调用get()或post(),传入关键字参数,但不包括source和access_token参数:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
如果是POST调用,示例代码如下:
r = client.statuses.update.post(status=u'测试OAuth 2.0发微博')
如果需要上传文件,传入file-like object参数,示例代码如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博', pic=f)
f.close() # APIClient不会自动关闭文件,需要手动关闭
请注意:上传的文件必须是类文件对象,而不是str,因为无法区分str是文件还是字段。一个 str 可以通过 StringIO 打包成类文件对象。
转载于: 查看全部
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
这几天为了发表论文,需要采集新浪微博的用户关系信息,形成复杂网络的结构图。好在微博提供了API供我们调用。折腾了一天,终于有点收获了。总结如下:
1.下载SDK
如果使用python调用API,必须先去下一个Python SDK,sinaweibopy
连接地址在这里:
可以用pip快速导入,github连接中的wiki也有入门方法,简单易懂。
2.了解新浪微博的授权机制
在调用API之前,我们首先要了解OAuth 2是什么,也就是新浪微博的授权机制。
在这里连接:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注册应用
每个人都可以通过新浪微博开发者平台注册自己的应用程序。我在网站上注册了应用程序。注册后,每个应用程序都会被分配一个唯一的app key和app secret,这在上面提到的授权机制中是需要的,相当于每个应用程序的标识。
至此,我们可以尝试编写代码来调用新浪微博的API。
4.简单调用API实例
参考了上面很多资料和文档,写了一个简单的调用流程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = ''
APP_SECRET = ''
CALLBACK_URL = ''
#这个是设置回调地址,必须与那个”高级信息“里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 获取URL参数code:
code = '2fc0b2f5d2985db832fa01fee6bd9316'
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/U ... %25B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通过上面的代码,我实现了调用相互关注API的调用,即找到一个特定id的用户互相关注的人的列表。
其中,APP_KEY 和 APP_SECRET 是上一篇文章中分配给每个应用程序的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,随便设置即可。
更恶心的是代码获取。当我阅读 sinaweibopy 文档时,我不明白这是什么意思。如上代码所示,获取到的URL为授权URL。我们通过了
webbrowser.open_new(url)
这行代码打开浏览器,跳转到授权界面,然后观察它所在界面的URL。它将显示类似于以下的格式:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有个code=……的东西,就复制等号后面的字符串,赋值给code,但是每次程序运行的时候,code都不是静态的,也就是说必须有每次都是这样的手册,每次拿到过程都觉得很麻烦,所以以后自己研究一下,实现代码自动获取。如果哪位大神能告诉我,感激不尽~
好了,拿到正确的code后,就可以完成授权认证了,就可以调用微博的API了。至于如何在Python下调用,我复制sinaweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source: string,OAuth授权方式不需要此参数,其他授权方式为必填参数,值为AppKey? 的应用程序。
access_token: string,OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获取。
uid: int64,要查询的用户ID。
screen_name:字符串,待查询用户的昵称。
(其他可选参数省略)
调用方式:将API的“/”改为“.”,根据请求格式是GET还是POST,调用get()或post(),传入关键字参数,但不包括source和access_token参数:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
如果是POST调用,示例代码如下:
r = client.statuses.update.post(status=u'测试OAuth 2.0发微博')
如果需要上传文件,传入file-like object参数,示例代码如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博', pic=f)
f.close() # APIClient不会自动关闭文件,需要手动关闭
请注意:上传的文件必须是类文件对象,而不是str,因为无法区分str是文件还是字段。一个 str 可以通过 StringIO 打包成类文件对象。
转载于:
网站调用新浪微博内容(网站调用新浪微博内容是服务端解析新浪新闻上网站)
网站优化 • 优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2021-12-07 09:00
网站调用新浪微博内容是服务端解析新浪新闻上网站上是自己更新
博客原理简单来说,是用云加速,先绑定域名,然后从服务器拉取源站内容,
原理大概是你建站时用一个api,通过这个api接口你获取到对方服务器的内容。不可能为你给你读取新浪的内容。因为那样不安全。也不可能在你建站的时候用一个接口告诉你让你读取新浪的内容。因为那样会影响其他业务。还有就是你说的让你读取内容服务端会服务哪些内容,这个大概要看api。不同的api有不同的api接口。
首先你的app是什么类型,如果是应用软件,要开发客户端;要求数据真实有效性,那么你可以申请新浪博客内容服务,申请通过后,你可以直接获取服务端大量内容;自己通过send微博,发微博给对方看;互动信息如图上一种说法。
通过新浪的一个cdn,知道新浪博客对方的url,然后判断对方最终的数据,不可能让你读新浪内容,
有人是打新浪的电话卖给你的。
目前来看,做一个代替新浪微博的app还是有必要的。目前做的比较好的有趣看博客,不过没有看到有订阅博客类型的应用。是和idc合作的,也很安全。
用imworker做服务器集群,im与微博每条都相同, 查看全部
网站调用新浪微博内容(网站调用新浪微博内容是服务端解析新浪新闻上网站)
网站调用新浪微博内容是服务端解析新浪新闻上网站上是自己更新
博客原理简单来说,是用云加速,先绑定域名,然后从服务器拉取源站内容,
原理大概是你建站时用一个api,通过这个api接口你获取到对方服务器的内容。不可能为你给你读取新浪的内容。因为那样不安全。也不可能在你建站的时候用一个接口告诉你让你读取新浪的内容。因为那样会影响其他业务。还有就是你说的让你读取内容服务端会服务哪些内容,这个大概要看api。不同的api有不同的api接口。
首先你的app是什么类型,如果是应用软件,要开发客户端;要求数据真实有效性,那么你可以申请新浪博客内容服务,申请通过后,你可以直接获取服务端大量内容;自己通过send微博,发微博给对方看;互动信息如图上一种说法。
通过新浪的一个cdn,知道新浪博客对方的url,然后判断对方最终的数据,不可能让你读新浪内容,
有人是打新浪的电话卖给你的。
目前来看,做一个代替新浪微博的app还是有必要的。目前做的比较好的有趣看博客,不过没有看到有订阅博客类型的应用。是和idc合作的,也很安全。
用imworker做服务器集群,im与微博每条都相同,
网站调用新浪微博内容(新浪开的店铺均除外怎么办?每一步该如何操作 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2021-12-05 18:00
)
申请先决条件:你必须有一个,一个独立的网站;除了新浪开设的官方博客和天猫开设的商店。
申请有四种申请方式:①开发者身份认证②网站所有权验证③部署微链接④填写申请信息(提交审核),让我们详细了解每一步的操作方法!
第一步,登录新浪微博开放平台,点击下方图标,开始创建网站接入应用;
如果您尚未完成开发者身份验证,系统会引导您进入身份验证页面;
身份认证通过并不意味着您拥有自己的应用程序;身份认证通过后才能创建应用;
关于开发者类型,请根据实际情况填写;个人或企业不会影响您创建网站访问应用程序;如果选择企业,未来可以创造更多的应用类型;
身份验证周期为1-2个工作日,请关注系统通知;
第二步:验证网站的所有权,我们来学习一下如何填写;
网站姓名,即你要在微博上显示的“发件人”的名字,需要和你的网站相关联;
申请提交审核时可修改两次名称;
如果提示“网站名称已存在,请更改一个”,表示该名称已被占用,必须更改;
网站域名与您在微博点击“来自”时访问的页面相关,但不是绝对的;
比如这里填写,当申请提交审核时,可以设置点击“发件人”访问
选择验证方式,即新浪确认网站是否属于您。
微博平台提供两种验证方式。请把这一步留给网站技术(运维);因为涉及到修改你的网站官方源码,一般来说网站技术(运维)有相应的权限;
如何确认网站技术(运维)同学添加了验证码?访问你上一步填写的“网站域名”的网页,点击鼠标右键“查看网页源代码”,先找到head标签,再进一步搜索...(如果这个输入说话,本教程无法继续)
完成以上表格后,点击“验证并添加”进入以下页面;(当开发者身份认证为“企业”时,会略有不同)
注意,此时不要关闭页面;虽然我们成功获取了AppKey和AppSecret,但并不代表申请成功;在新窗口中打开“微组件”,我们将进入下一步;
第三步:部署微组件;如果没有部署微博组件,应用是不会通过审核的,切记;
选择你需要的功能(组件)部署网站。申请通过审核后,即可移除该组件;
例如,我们选择“关注按钮”...
查看全部
网站调用新浪微博内容(新浪开的店铺均除外怎么办?每一步该如何操作
)
申请先决条件:你必须有一个,一个独立的网站;除了新浪开设的官方博客和天猫开设的商店。
申请有四种申请方式:①开发者身份认证②网站所有权验证③部署微链接④填写申请信息(提交审核),让我们详细了解每一步的操作方法!
第一步,登录新浪微博开放平台,点击下方图标,开始创建网站接入应用;

如果您尚未完成开发者身份验证,系统会引导您进入身份验证页面;

身份认证通过并不意味着您拥有自己的应用程序;身份认证通过后才能创建应用;
关于开发者类型,请根据实际情况填写;个人或企业不会影响您创建网站访问应用程序;如果选择企业,未来可以创造更多的应用类型;
身份验证周期为1-2个工作日,请关注系统通知;
第二步:验证网站的所有权,我们来学习一下如何填写;

网站姓名,即你要在微博上显示的“发件人”的名字,需要和你的网站相关联;
申请提交审核时可修改两次名称;
如果提示“网站名称已存在,请更改一个”,表示该名称已被占用,必须更改;
网站域名与您在微博点击“来自”时访问的页面相关,但不是绝对的;
比如这里填写,当申请提交审核时,可以设置点击“发件人”访问
选择验证方式,即新浪确认网站是否属于您。
微博平台提供两种验证方式。请把这一步留给网站技术(运维);因为涉及到修改你的网站官方源码,一般来说网站技术(运维)有相应的权限;
如何确认网站技术(运维)同学添加了验证码?访问你上一步填写的“网站域名”的网页,点击鼠标右键“查看网页源代码”,先找到head标签,再进一步搜索...(如果这个输入说话,本教程无法继续)
完成以上表格后,点击“验证并添加”进入以下页面;(当开发者身份认证为“企业”时,会略有不同)

注意,此时不要关闭页面;虽然我们成功获取了AppKey和AppSecret,但并不代表申请成功;在新窗口中打开“微组件”,我们将进入下一步;
第三步:部署微组件;如果没有部署微博组件,应用是不会通过审核的,切记;

选择你需要的功能(组件)部署网站。申请通过审核后,即可移除该组件;
例如,我们选择“关注按钮”...

网站调用新浪微博内容(如何使用新浪微博的手机网页版获取cookie:抓取登录微博)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-12-04 16:10
爬行方法:
在浏览一个人的微博内容时,我们通常需要登录微博。在微博登录方面,我们使用了一个简单的方法:抓取登录微博的cookie,然后使用cookie登录微博。这样,您就可以浏览某人的微博内容。
为了方便抓取,我们使用新浪微博手机网页版
获取饼干:
① 我们使用的抓包工具是Fiddler。安装好 Fiddler 后,我们来设置 Winconfig 并勾选 IE 项:
然后 SaveChange 就可以了。
②先登录进入微博。(部分手机网页版可能无法登录,一直显示验证码错误,此时可以打开新浪微博电脑网页版登录)。
③打开Fiddler,然后用IE浏览器打开,发现是直接登录的。这是因为cookie。这时候我们使用Fiddler来查找cookie的内容
首先在 Fddler 的左栏中找到该项目并双击它。
然后使用右侧的composer查看一些信息。
cookie 信息正是我们所需要的。我们复制“_T_W...”。
使用python抓包
这里就直接上代码看。
——
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import time
cook = {"Cookie":" _T_WM....."} #放入你的cookie信息。
for i in range(1,20):
#爬取"头条新闻"的前二十页微博
url = "http://weibo.cn/breakingnews?page=%d"%(i)
html = requests.get(url,cookies=cook).content
#使用Beautiful来解析网页内容。
soup =BeautifulSoup(html,"html.parser")
r = soup.findAll('span',attrs={"class" : "ctt"})
for e in r:
print(e.text)
#设置时间间隔
time.sleep(3)
——
这样我们就可以爬到头条新闻的微博内容了,当然这里我只爬取了文本信息。
项目地址:github 查看全部
网站调用新浪微博内容(如何使用新浪微博的手机网页版获取cookie:抓取登录微博)
爬行方法:
在浏览一个人的微博内容时,我们通常需要登录微博。在微博登录方面,我们使用了一个简单的方法:抓取登录微博的cookie,然后使用cookie登录微博。这样,您就可以浏览某人的微博内容。
为了方便抓取,我们使用新浪微博手机网页版
获取饼干:
① 我们使用的抓包工具是Fiddler。安装好 Fiddler 后,我们来设置 Winconfig 并勾选 IE 项:
然后 SaveChange 就可以了。
②先登录进入微博。(部分手机网页版可能无法登录,一直显示验证码错误,此时可以打开新浪微博电脑网页版登录)。
③打开Fiddler,然后用IE浏览器打开,发现是直接登录的。这是因为cookie。这时候我们使用Fiddler来查找cookie的内容
首先在 Fddler 的左栏中找到该项目并双击它。
然后使用右侧的composer查看一些信息。
cookie 信息正是我们所需要的。我们复制“_T_W...”。
使用python抓包
这里就直接上代码看。
——
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import time
cook = {"Cookie":" _T_WM....."} #放入你的cookie信息。
for i in range(1,20):
#爬取"头条新闻"的前二十页微博
url = "http://weibo.cn/breakingnews?page=%d"%(i)
html = requests.get(url,cookies=cook).content
#使用Beautiful来解析网页内容。
soup =BeautifulSoup(html,"html.parser")
r = soup.findAll('span',attrs={"class" : "ctt"})
for e in r:
print(e.text)
#设置时间间隔
time.sleep(3)
——
这样我们就可以爬到头条新闻的微博内容了,当然这里我只爬取了文本信息。
项目地址:github
网站调用新浪微博内容(新浪微博API调研表支持语言Java、PHP、NET等多种编程语言)
网站优化 • 优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-04 16:08
statuses/home_timeline) 获取当前登录用户 获取已发微博消息列表 获取当前用户发送和接收的评论列表 获取当前用户发送和接收的评论列表 获取当前用户收到的评论user 获取当前用户收到的评论 根据微博消息ID返回某条微博消息的评论 批量列出一组微博的评论和转发数量 返回原创的最新n条转发微博信息@> 微博 新!返回用户最新n条转发微博信息 新增!获取当前用户的未读消息未读消息数量重置界面表情界面,获取表情列表 微博访问界面 根据ID获取单个微博消息内容 根据微博ID和用户ID跳转到单个微博页面 发布微博消息 更新!上传图片发微博 删除微博 转发微博 更新了!评论一条微博消息已更新!删除当前用户的微博评论信息 批量删除当前用户的微博评论信息 回复微博评论信息 已更新!用户界面根据用户ID(授权用户)获取用户信息,获取用户关注列表和每个关注用户的最新微博,获取用户的粉丝列表和每个粉丝用户的最新微博,获取系统推荐用户更新当前登录用户关注的朋友评论 新!返回给当前用户 Beta 可能感兴趣的用户!私信接口 私信接口只对授权合作应用开放 获取当前用户的最新私信列表 获取当前用户最新发送的私信列表 发送私信 批量删除私信 删除私信 关注界面user Unfollow 是否关注某个用户(推荐好友/秀) 获取两个用户的详细关系 话题界面 获取某人的话题 获取某个话题下的微博 关注某个话题 Unfollow 某个话题通过小时回到当天的热门话题。
回归本周热点话题。Social Graph接口获取用户关注对象的uid列表。获取用户粉丝的uid列表。隐私设置界面设置隐私信息。获取隐私信息。黑名单界面将用户加入黑名单和从黑名单中移除用户。列出用户(输出用户详细信息) 列出分页黑名单用户(只输出id) 用户标签接口返回指定用户的标签列表 添加用户标签 返回用户感兴趣的标签 删除标签 批量删除标签 账户界面验证是否当前用户身份合法获取当前用户API访问频率限制当前用户注销更改头像更改个人资料采集界面获取当前用户 s 采集列表 添加采集 删除当前用户采集的微博信息 批量删除采集的微博信息 Login/OAuth接口 OAuth授权方法介绍 Get not Authorized Request Token 请求用户授权Token获取授权Access Token 微博搜索API(Search API) :搜索界面只对授权的合作应用开放。用户可以搜索和搜索微博用户(仅对新浪合作开发者开放)。更新!@某人,实时获取用户名建议。它还可以用于关注者/粉丝搜索。(对所有开发者开放)新!微博搜索 搜索微博文章(仅对新浪合作开发者开放) 搜索微博(多条件组合)(仅对合作开发者开放) 微博地理位置信息界面:
根据用户维度和IP维度限制对服务器IP的请求次数。正常授权:10000次/小时;中级授权:20000次/小时;高级授权:30000次/小时;合作授权:4万次/小时。用户正在使用应用程序 一般授权:总限制:单个用户每个应用程序每小时 150 次。微博:单个用户每个应用程序 30 次/小时。评论:单个用户每个应用60次/小时:每个应用私人消息:单个用户每个应用60次/小时加关注:单个用户每个应用60次/小时200次/天中级授权:总量限制:单个用户每应用300次/小时微博:单用户每应用60次/小时评论:
用户点击权限后,第三方网站可以获取当前用户信息,通过调用接口发布和分享内容。3.用户用微博账号登录后,如果用户没有账号,可以直接用自己的微博账号登录。如果已经有账号,可以让用户选择绑定已有账号。4.网站可以将用户在网站上发布的内容直接通过绑定发送到微博用户设置的信息。网站可以分享你想分享的内容在页面关键位置添加分享链接微博展示功能微博展示未审核,代码嵌入功能效果□运营收益□意见建议□用户注册□网站 访问□用户活动□内容传播□购买转化率√个人/品牌形象□粉丝互动功能说明可以放置在博客、网站或其他支持html代码的位置,展示您的微博和粉丝,以便让更多人关注微博名片功能 微博 博卡审核与否,代码嵌入功能效果□运营收益□意见建议□用户注册□网站访问□用户活动□内容传播□购买转化率√个人/品牌形象√粉丝互动功能描述微博卡可以帮助网站将内容中的@符号与微博上的人联系起来。在一段纯文本中,识别@username 并添加用户的名片功能。当鼠标移动到“@username”时,将出现一个显示用户信息的图层。转发功能转发未审核,代码嵌入功能效果□运营收入□意见建议√用户注册√网站访问量√用户活跃度√内容传播√购买转化率□个人/品牌形象□粉丝互动功能描述嵌入微博转发按钮进入网站,网站的访问者可以点击按钮将网页上的相应信息转发到新浪微博,分享给他们的粉丝,并添加网站访问交通。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核, 查看全部
网站调用新浪微博内容(新浪微博API调研表支持语言Java、PHP、NET等多种编程语言)
statuses/home_timeline) 获取当前登录用户 获取已发微博消息列表 获取当前用户发送和接收的评论列表 获取当前用户发送和接收的评论列表 获取当前用户收到的评论user 获取当前用户收到的评论 根据微博消息ID返回某条微博消息的评论 批量列出一组微博的评论和转发数量 返回原创的最新n条转发微博信息@> 微博 新!返回用户最新n条转发微博信息 新增!获取当前用户的未读消息未读消息数量重置界面表情界面,获取表情列表 微博访问界面 根据ID获取单个微博消息内容 根据微博ID和用户ID跳转到单个微博页面 发布微博消息 更新!上传图片发微博 删除微博 转发微博 更新了!评论一条微博消息已更新!删除当前用户的微博评论信息 批量删除当前用户的微博评论信息 回复微博评论信息 已更新!用户界面根据用户ID(授权用户)获取用户信息,获取用户关注列表和每个关注用户的最新微博,获取用户的粉丝列表和每个粉丝用户的最新微博,获取系统推荐用户更新当前登录用户关注的朋友评论 新!返回给当前用户 Beta 可能感兴趣的用户!私信接口 私信接口只对授权合作应用开放 获取当前用户的最新私信列表 获取当前用户最新发送的私信列表 发送私信 批量删除私信 删除私信 关注界面user Unfollow 是否关注某个用户(推荐好友/秀) 获取两个用户的详细关系 话题界面 获取某人的话题 获取某个话题下的微博 关注某个话题 Unfollow 某个话题通过小时回到当天的热门话题。
回归本周热点话题。Social Graph接口获取用户关注对象的uid列表。获取用户粉丝的uid列表。隐私设置界面设置隐私信息。获取隐私信息。黑名单界面将用户加入黑名单和从黑名单中移除用户。列出用户(输出用户详细信息) 列出分页黑名单用户(只输出id) 用户标签接口返回指定用户的标签列表 添加用户标签 返回用户感兴趣的标签 删除标签 批量删除标签 账户界面验证是否当前用户身份合法获取当前用户API访问频率限制当前用户注销更改头像更改个人资料采集界面获取当前用户 s 采集列表 添加采集 删除当前用户采集的微博信息 批量删除采集的微博信息 Login/OAuth接口 OAuth授权方法介绍 Get not Authorized Request Token 请求用户授权Token获取授权Access Token 微博搜索API(Search API) :搜索界面只对授权的合作应用开放。用户可以搜索和搜索微博用户(仅对新浪合作开发者开放)。更新!@某人,实时获取用户名建议。它还可以用于关注者/粉丝搜索。(对所有开发者开放)新!微博搜索 搜索微博文章(仅对新浪合作开发者开放) 搜索微博(多条件组合)(仅对合作开发者开放) 微博地理位置信息界面:
根据用户维度和IP维度限制对服务器IP的请求次数。正常授权:10000次/小时;中级授权:20000次/小时;高级授权:30000次/小时;合作授权:4万次/小时。用户正在使用应用程序 一般授权:总限制:单个用户每个应用程序每小时 150 次。微博:单个用户每个应用程序 30 次/小时。评论:单个用户每个应用60次/小时:每个应用私人消息:单个用户每个应用60次/小时加关注:单个用户每个应用60次/小时200次/天中级授权:总量限制:单个用户每应用300次/小时微博:单用户每应用60次/小时评论:
用户点击权限后,第三方网站可以获取当前用户信息,通过调用接口发布和分享内容。3.用户用微博账号登录后,如果用户没有账号,可以直接用自己的微博账号登录。如果已经有账号,可以让用户选择绑定已有账号。4.网站可以将用户在网站上发布的内容直接通过绑定发送到微博用户设置的信息。网站可以分享你想分享的内容在页面关键位置添加分享链接微博展示功能微博展示未审核,代码嵌入功能效果□运营收益□意见建议□用户注册□网站 访问□用户活动□内容传播□购买转化率√个人/品牌形象□粉丝互动功能说明可以放置在博客、网站或其他支持html代码的位置,展示您的微博和粉丝,以便让更多人关注微博名片功能 微博 博卡审核与否,代码嵌入功能效果□运营收益□意见建议□用户注册□网站访问□用户活动□内容传播□购买转化率√个人/品牌形象√粉丝互动功能描述微博卡可以帮助网站将内容中的@符号与微博上的人联系起来。在一段纯文本中,识别@username 并添加用户的名片功能。当鼠标移动到“@username”时,将出现一个显示用户信息的图层。转发功能转发未审核,代码嵌入功能效果□运营收入□意见建议√用户注册√网站访问量√用户活跃度√内容传播√购买转化率□个人/品牌形象□粉丝互动功能描述嵌入微博转发按钮进入网站,网站的访问者可以点击按钮将网页上的相应信息转发到新浪微博,分享给他们的粉丝,并添加网站访问交通。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,
网站调用新浪微博内容(腾讯的文档写的很详细接入方法懂)
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-12-04 16:05
腾讯的文档很详细,很容易实现第三方访问
感觉新浪的文档不是很懂。可能是我水平有问题
使用JS的快速访问方法如下
1.先申请App Key、App Secret并绑定域名到新浪申请
2.在微博组件页面,可以选择快速放置需要的微博组件
(1)示例选择放置微博登录组件,
在标签中放置以下JS语句
在需要放置微博登录的地方放置以下语句,
标签下写如下JS语句,注意这里的ID要和上面的ID一致
WB2.anyWhere(function(W){
W.widget.connectButton({
id: "wb_connect_btn",
type:"3,2",
callback : {
login:function(o){ //登录后的回调函数
},
logout:function(){ //退出后的回调函数
}
}
});
很简单,我们已经完成了登录微博的任务,但是我们的目的是调用api获取我们想要的数据,所以一个简单的API调用例子
1. 用户登录时,我们获取授权用户的uid,通过uid获取用户的信息。
if(WB2.checkLogin()){/*weibo 登录*/
//var uid;
WB2.anyWhere(function (W) {
/***获取授权用户id***/
W.parseCMD("/account/get_uid.json", function (sResult, bStatus)
{
if (!!bStatus) {
/**请求uid成功后调用以获取用户数据**/
getData(W, sResult);
//alert(sResult.uid);
}else{
alert("授权失败或错误");
}
}, {}, {
method: 'GET'
});
});
function getData(W, User)
{
W.parseCMD("/users/show.json", function(sResult, bStatus){
// alert(sResult.name);
var uid = User.uid;
// alert(nickname);
// xmlhttp.open("GET","http://localhost/CI/index.php/ ... 2Buid,true);
// xmlhttp.send();
},{
/* 传递参数 */
uid : User.uid
},{
method: 'GET'
});
};
这里调用了两次新浪api,第一次请求uid,第二次通过uid作为参数请求用户信息,并查询新浪api。
细节我就不细说了,如有错误,请多多指出。 查看全部
网站调用新浪微博内容(腾讯的文档写的很详细接入方法懂)
腾讯的文档很详细,很容易实现第三方访问
感觉新浪的文档不是很懂。可能是我水平有问题
使用JS的快速访问方法如下
1.先申请App Key、App Secret并绑定域名到新浪申请
2.在微博组件页面,可以选择快速放置需要的微博组件
(1)示例选择放置微博登录组件,
在标签中放置以下JS语句
在需要放置微博登录的地方放置以下语句,
标签下写如下JS语句,注意这里的ID要和上面的ID一致
WB2.anyWhere(function(W){
W.widget.connectButton({
id: "wb_connect_btn",
type:"3,2",
callback : {
login:function(o){ //登录后的回调函数
},
logout:function(){ //退出后的回调函数
}
}
});
很简单,我们已经完成了登录微博的任务,但是我们的目的是调用api获取我们想要的数据,所以一个简单的API调用例子
1. 用户登录时,我们获取授权用户的uid,通过uid获取用户的信息。
if(WB2.checkLogin()){/*weibo 登录*/
//var uid;
WB2.anyWhere(function (W) {
/***获取授权用户id***/
W.parseCMD("/account/get_uid.json", function (sResult, bStatus)
{
if (!!bStatus) {
/**请求uid成功后调用以获取用户数据**/
getData(W, sResult);
//alert(sResult.uid);
}else{
alert("授权失败或错误");
}
}, {}, {
method: 'GET'
});
});
function getData(W, User)
{
W.parseCMD("/users/show.json", function(sResult, bStatus){
// alert(sResult.name);
var uid = User.uid;
// alert(nickname);
// xmlhttp.open("GET","http://localhost/CI/index.php/ ... 2Buid,true);
// xmlhttp.send();
},{
/* 传递参数 */
uid : User.uid
},{
method: 'GET'
});
};
这里调用了两次新浪api,第一次请求uid,第二次通过uid作为参数请求用户信息,并查询新浪api。
细节我就不细说了,如有错误,请多多指出。
网站调用新浪微博内容(记录一下,关于如何分享到新浪微博的过程(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 36 次浏览 • 2021-12-04 03:09
记录如何分享到新浪微博的过程,
1、要将您的网站网站或应用程序分享到新浪微博,您首先需要在新浪开发者平台上申请注册为开发者。
流程链接如下,大家可以自己参考: 注册完成后,会返回一个appKey。这个appKey是唯一的身份证明,所以一定要记录下来。本文已经申请了开发者身份,不方便公开appkey。更不用说,开发者身份的申请需要审核,一般需要三天左右的时间。
2、 完成后(不需要等待审核,我们就可以写我们的代码了),下面就是调用新浪微博的服务接口发布我们自己的新闻,这里有以下字段说明,为一个String URL,比如我下面的例子:
界面如下:
然后我的链接地址如下(因为中文是编码的,所以省略了一些内容,把重点地方贴出来,因为下面的网址被我截断了,所以这里直接复制可能无法显示效果,您需要自己拥有组合网址):
title=我的朋友们,来试试我的新东西。%&url=http://:8080/youtest/wap/detai ... RCode。htm?url=http://:8080/youtest/app/getAppFile.htm¶ms=name:QQtest,fileId:3040f717a8d76277&appKey=XXXX
这里有点乱,希望大家多多包涵。先说一下这个url的参数构成(我已经标出了关键参数):
(A) 这个链接是调用新浪的服务
(B) Title:当前分享的140字内容,不可缺少的参数,内容可以为空,但参数不能少
(C) url:表示当前正在分享的页面地址,比如我当前页面或者要分享的页面的地址是:http:/p.html,然后在url中填写这个内容
(D) pic:表示分享时,有图片附上。很多分享都有图片,所以图片地址是这个,因为新浪微博需要根据图片的url自己找图片,所以这里填写外网访问获取的地址不能填写在内网。如果有服务器,你可以把它放在服务器上
(E) appKey:为当前唯一标识,该字段为申请时返回的字段 查看全部
网站调用新浪微博内容(记录一下,关于如何分享到新浪微博的过程(组图))
记录如何分享到新浪微博的过程,
1、要将您的网站网站或应用程序分享到新浪微博,您首先需要在新浪开发者平台上申请注册为开发者。
流程链接如下,大家可以自己参考: 注册完成后,会返回一个appKey。这个appKey是唯一的身份证明,所以一定要记录下来。本文已经申请了开发者身份,不方便公开appkey。更不用说,开发者身份的申请需要审核,一般需要三天左右的时间。
2、 完成后(不需要等待审核,我们就可以写我们的代码了),下面就是调用新浪微博的服务接口发布我们自己的新闻,这里有以下字段说明,为一个String URL,比如我下面的例子:
界面如下:
然后我的链接地址如下(因为中文是编码的,所以省略了一些内容,把重点地方贴出来,因为下面的网址被我截断了,所以这里直接复制可能无法显示效果,您需要自己拥有组合网址):
title=我的朋友们,来试试我的新东西。%&url=http://:8080/youtest/wap/detai ... RCode。htm?url=http://:8080/youtest/app/getAppFile.htm¶ms=name:QQtest,fileId:3040f717a8d76277&appKey=XXXX
这里有点乱,希望大家多多包涵。先说一下这个url的参数构成(我已经标出了关键参数):
(A) 这个链接是调用新浪的服务
(B) Title:当前分享的140字内容,不可缺少的参数,内容可以为空,但参数不能少
(C) url:表示当前正在分享的页面地址,比如我当前页面或者要分享的页面的地址是:http:/p.html,然后在url中填写这个内容
(D) pic:表示分享时,有图片附上。很多分享都有图片,所以图片地址是这个,因为新浪微博需要根据图片的url自己找图片,所以这里填写外网访问获取的地址不能填写在内网。如果有服务器,你可以把它放在服务器上
(E) appKey:为当前唯一标识,该字段为申请时返回的字段
网站调用新浪微博内容(Web2.0时代,新浪微博API官方的方式总是显得很麻烦)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2021-11-30 16:15
新浪微博的API官方提供了多种支持编程的调用方式。归根结底,有两个:
1.基于Oauth协议,使用Open API。(%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)
2. 使用微博JS-SDK()。
官方的方式总是显得繁琐。我们来讨论一下,我们可以使用非官方的方法在没有AppKey、认证和Ajax的情况下调用新浪微博API吗?
在Web2.0时代,短链服务非常流行。新浪的短链服务域名是,这个域名真的很短,没办法把它变短。
打开新浪微博API官方文档,短链服务描述如下:
上面列出的方法调用都是相似的。我们以第一种方法 short_url/shorten 为例。打开详细说明:
我们来分析一下这段描述:
1.是否需要登录:不需要。这个很重要。由于不需要登录,我们的“免认证”会很好用。
2. 频率限制:是的。这也很关键,也就是说如果我们按照官方的方法,调用的次数会非常有限。
3.支持格式:JSON。其实根据实验,新浪微博不仅支持JSON,还支持JSONP,只是文档没有告诉我们。这也很关键。因为有了 JSONP,就意味着可以轻松跨域。
4.网址:。事实上,这也是谎言。HTTPS肯定会影响速度。经过实验,直接把HTTPS改成HTTP还是可以的。
接下来,一一克服困难。
一、使用JQuery+JSONP跨域。
参考文件:
jquery 对 JSONP 非常友好,调用 AJAX 时只需要指定 dataType: jsonp 即可。
二是频率限制问题。
由于不需要登录,因此可以绕过频率限制问题。因为 AppKey 本身是半公开的。我们可以轻松地通过 Google Appkey 找到许多很棒的应用程序。
例如:
iPhone新浪微博客户端App Key:57867243301
iPad新浪客户端App Key:2849184197
Google.Nexus Wave 客户端应用程序密钥:1206405345
周伯通微博管家App Key:202088835
微科App Key:211160679
上面列出的AppKeys都来自于一些拥有大量用户的手机应用程序。它们的频率限制非常宽松,几乎可以理解为“不受限制”。为了解决频率限制问题,我们可以使用他们的Appkey。
另外:新浪微博API的频率限制有两个维度,服务IP维度和用户IP维度。. 这一点与本文无关,因为 Javascript 运行在客户端。但是如果要修改本文提到的方法,在服务器端使用C#或其他高级语言进行调用,则必须注意服务器IP维度。
三、一个简单的实验。
您现在可以直接在浏览器中访问此地址:
://
会在浏览器中显示
{"urls":[
{"result":true,"url_short":"http://t.cn/h5FGy","url_long":"http://www.cnblogs.com","type":0}]}
通过访问上述的地址,您已经得到了http://www.cnblogs.com的段地址:http://t.cn/h5FGy
注意我们使用的是http而非https,不需要使用https,上文已经提到了。
四、最终代码示例
最终代码的示例参考这里http://haotaoqu.com/item-45.html
这个示例将一个又臭又长的淘宝客URL地址转换为了新浪短地址。
Javascript代码如下:
五、除了short_url/shorten,其他可以通过该方法调用的API
任何标记为“是否需要登录:否”的接口都可以被本文中的流氓方法调用。打开%E6%96%87%E6%A1%A3_V2官方文档慢慢选择吧~
百度有收录
短网址
我们郑重声明:本站只销售html页面效果模板,不提供任何类型的网站内容数据。模板仅供学习交流使用,不得用于任何商业用途或违反国家法律法规的用途。违者需承担责任。全责,与本站及模板设计作者无关,本站与模板作者不承担任何连带责任!!!!
关爱邦 | 网站 源码下载_免费商业源码分享!»以短链服务为例,讨论跨域调用新浪微博API无需AppKey、鉴权、Ajax
掐 查看全部
网站调用新浪微博内容(Web2.0时代,新浪微博API官方的方式总是显得很麻烦)
新浪微博的API官方提供了多种支持编程的调用方式。归根结底,有两个:
1.基于Oauth协议,使用Open API。(%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)
2. 使用微博JS-SDK()。
官方的方式总是显得繁琐。我们来讨论一下,我们可以使用非官方的方法在没有AppKey、认证和Ajax的情况下调用新浪微博API吗?
在Web2.0时代,短链服务非常流行。新浪的短链服务域名是,这个域名真的很短,没办法把它变短。
打开新浪微博API官方文档,短链服务描述如下:

上面列出的方法调用都是相似的。我们以第一种方法 short_url/shorten 为例。打开详细说明:

我们来分析一下这段描述:
1.是否需要登录:不需要。这个很重要。由于不需要登录,我们的“免认证”会很好用。
2. 频率限制:是的。这也很关键,也就是说如果我们按照官方的方法,调用的次数会非常有限。
3.支持格式:JSON。其实根据实验,新浪微博不仅支持JSON,还支持JSONP,只是文档没有告诉我们。这也很关键。因为有了 JSONP,就意味着可以轻松跨域。
4.网址:。事实上,这也是谎言。HTTPS肯定会影响速度。经过实验,直接把HTTPS改成HTTP还是可以的。
接下来,一一克服困难。
一、使用JQuery+JSONP跨域。
参考文件:
jquery 对 JSONP 非常友好,调用 AJAX 时只需要指定 dataType: jsonp 即可。
二是频率限制问题。
由于不需要登录,因此可以绕过频率限制问题。因为 AppKey 本身是半公开的。我们可以轻松地通过 Google Appkey 找到许多很棒的应用程序。
例如:
iPhone新浪微博客户端App Key:57867243301
iPad新浪客户端App Key:2849184197
Google.Nexus Wave 客户端应用程序密钥:1206405345
周伯通微博管家App Key:202088835
微科App Key:211160679
上面列出的AppKeys都来自于一些拥有大量用户的手机应用程序。它们的频率限制非常宽松,几乎可以理解为“不受限制”。为了解决频率限制问题,我们可以使用他们的Appkey。
另外:新浪微博API的频率限制有两个维度,服务IP维度和用户IP维度。. 这一点与本文无关,因为 Javascript 运行在客户端。但是如果要修改本文提到的方法,在服务器端使用C#或其他高级语言进行调用,则必须注意服务器IP维度。
三、一个简单的实验。
您现在可以直接在浏览器中访问此地址:
://
会在浏览器中显示
{"urls":[
{"result":true,"url_short":"http://t.cn/h5FGy","url_long":"http://www.cnblogs.com","type":0}]}
通过访问上述的地址,您已经得到了http://www.cnblogs.com的段地址:http://t.cn/h5FGy
注意我们使用的是http而非https,不需要使用https,上文已经提到了。
四、最终代码示例
最终代码的示例参考这里http://haotaoqu.com/item-45.html
这个示例将一个又臭又长的淘宝客URL地址转换为了新浪短地址。
Javascript代码如下:


五、除了short_url/shorten,其他可以通过该方法调用的API
任何标记为“是否需要登录:否”的接口都可以被本文中的流氓方法调用。打开%E6%96%87%E6%A1%A3_V2官方文档慢慢选择吧~
百度有收录
短网址
我们郑重声明:本站只销售html页面效果模板,不提供任何类型的网站内容数据。模板仅供学习交流使用,不得用于任何商业用途或违反国家法律法规的用途。违者需承担责任。全责,与本站及模板设计作者无关,本站与模板作者不承担任何连带责任!!!!
关爱邦 | 网站 源码下载_免费商业源码分享!»以短链服务为例,讨论跨域调用新浪微博API无需AppKey、鉴权、Ajax

掐
网站调用新浪微博内容(Web版微博和手机客户端相继上线赞按钮之后,随时随地轻松表达态度)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-30 15:15
在网页版微博和手机客户端推出点赞按钮后,新浪微博现在有了一个可以嵌入第三方的点赞按钮网站。
据新浪微博开放平台相关页面介绍,用户可以通过点赞按钮同步表达态度、发现好友、分享内容。
随时随地轻松表达态度-----用户浏览网页,找到自己喜欢的内容。“喜欢”按钮可用于一键式表达他们的情绪。找朋友方便快捷-----“点赞”按钮也会显示表达态度的用户。如果你的微博朋友也“点赞”了,那么你会看到她/他的内容被同步分享了-----点击按钮后,用户会在微博中同步一条收录对象内容的动态消息,继续通过微博传播
网站 开发人员现在可以将此按钮嵌入到他们自己的 网站 中。
Like按钮最早出现在FriendFeed(Twitter的竞争对手,后来被Facebook收购)网站,然后被Facebook发扬光大,现在充斥着世界各个角落(中国除外)。我写了一篇36氪文章的文章,解释了赞按钮的强大:
带有“赞”按钮网站 的媒体将其推荐流量平均增加了 300%。
Levi's 于 2010 年 4 月添加了 Like 按钮,此后流量增长了 40 倍并保持稳定。
添加“赞”按钮后,收入在 2 周内增长了 100%。
添加赞按钮后,Tea 采集 的每日收入翻了 10 倍。
但是,要达到这个效果,微博需要支持将用户喜欢的内容同步到时间线(目前只显示在自己的个人资料页面)。上次与新浪微博开放平台总经理楚大臣交流时,他透露未来会加入这个功能,但他们还在探索内容的呈现方式。Timeline中出现的点赞内容非常有利于流量,但处理不当会对用户造成干扰。
(个人资料页面点赞按钮的显示效果)
除了新浪微博,QQ空间和人人网也早就推出了自己的点赞按钮。据说腾讯微博很早就在规划这个功能。
对于微博来说,点赞按钮可以让他们采集大量的用户数据,这对于未来无论是用于投放精准广告还是对内容进行个性化推荐都将是非常有价值的。 查看全部
网站调用新浪微博内容(Web版微博和手机客户端相继上线赞按钮之后,随时随地轻松表达态度)
在网页版微博和手机客户端推出点赞按钮后,新浪微博现在有了一个可以嵌入第三方的点赞按钮网站。
据新浪微博开放平台相关页面介绍,用户可以通过点赞按钮同步表达态度、发现好友、分享内容。
随时随地轻松表达态度-----用户浏览网页,找到自己喜欢的内容。“喜欢”按钮可用于一键式表达他们的情绪。找朋友方便快捷-----“点赞”按钮也会显示表达态度的用户。如果你的微博朋友也“点赞”了,那么你会看到她/他的内容被同步分享了-----点击按钮后,用户会在微博中同步一条收录对象内容的动态消息,继续通过微博传播
网站 开发人员现在可以将此按钮嵌入到他们自己的 网站 中。
Like按钮最早出现在FriendFeed(Twitter的竞争对手,后来被Facebook收购)网站,然后被Facebook发扬光大,现在充斥着世界各个角落(中国除外)。我写了一篇36氪文章的文章,解释了赞按钮的强大:
带有“赞”按钮网站 的媒体将其推荐流量平均增加了 300%。
Levi's 于 2010 年 4 月添加了 Like 按钮,此后流量增长了 40 倍并保持稳定。
添加“赞”按钮后,收入在 2 周内增长了 100%。
添加赞按钮后,Tea 采集 的每日收入翻了 10 倍。
但是,要达到这个效果,微博需要支持将用户喜欢的内容同步到时间线(目前只显示在自己的个人资料页面)。上次与新浪微博开放平台总经理楚大臣交流时,他透露未来会加入这个功能,但他们还在探索内容的呈现方式。Timeline中出现的点赞内容非常有利于流量,但处理不当会对用户造成干扰。
(个人资料页面点赞按钮的显示效果)
除了新浪微博,QQ空间和人人网也早就推出了自己的点赞按钮。据说腾讯微博很早就在规划这个功能。
对于微博来说,点赞按钮可以让他们采集大量的用户数据,这对于未来无论是用于投放精准广告还是对内容进行个性化推荐都将是非常有价值的。
网站调用新浪微博内容( Wordpress将选中内容分享到新浪腾讯微博的方法)
网站优化 • 优采云 发表了文章 • 0 个评论 • 48 次浏览 • 2021-11-30 09:21
Wordpress将选中内容分享到新浪腾讯微博的方法)
Wordpress 如何将选定的内容分享到新浪微博?
本文介绍了 Wordpress 如何将所选内容分享到新浪腾讯微博的示例。分享给大家,供大家参考。具体方法如下:
推荐:《Wordpress 教程》
1、介绍jQuery,相信大部分WordPress博客都已经介绍了jQuery,可以直接进行第二步。
2、在页面底部,或者更准确的说,在引入jQuery库之后添加这样一段JS,就可以看到和本站一样的效果了。
选择和分享的功能似乎比较先进。实际上,实现非常简单。其中头大,常人不感兴趣的原理这里略过。选中js文本后,分享到新浪微博的功能很简单。是封装的,方法名是:$sinaMiniBlogShare
示例代码如下:
代码显示如下:
var miniBlogShare = function() {
//指定位置驻入节点
$('1328255868614.gif/1328255868314.png').appendTo('body');
//默认样式
$('.img_share').css({
display : 'none',
position : 'absolute',
cursor : 'pointer'
});
//选中文字
var funGetSelectTxt = function() {
var txt = '';
if(document.selection) {
txt = document.selection.createRange().text;
} else {
txt = document.getSelection();
}
return txt.toString();
};
//选中文字后显示微博图标
$('html,body').mouseup(function(e) {
if (e.target.id == 'imgSinaShare' || e.target.id == 'imgQqShare') {
return
}
e = e || window.event;
var txt = funGetSelectTxt(),
sh = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
left = (e.clientX - 40 < 0) ? e.clientX + 20 : e.clientX - 40,
top = (e.clientY - 40 < 0) ? e.clientY + sh + 20 : e.clientY + sh - 40;
if (txt) {
$('#imgSinaShare').css({
display : 'inline',
left : left,
top : top
});
$('#imgQqShare').css({
display : 'inline',
left : left + 30,
top : top
});
} else {
$('#imgSinaShare').css('display', 'none');
$('#imgQqShare').css('display', 'none');
}
});
//点击新浪微博
$('#imgSinaShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.sina.com.cn/share/s ... 39%3B + txt + ' —— 转载自:' + title + '&url=' + window.location.href);
}
});
//点击腾讯微博
$('#imgQqShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.qq.com/share/share.php?title=' + encodeURIComponent(txt + ' —— 转载自:' + title) + '&url=' + window.location.href);
}
});
}();
可以看到$sinaMiniBlogShare 方法有两个参数,eleShare 和eleContainer。其中,第一个参数是必须的,指的是选中文本后出现的浮动图层元素(本文demo中为新浪眼图标),后一个参数指的是文本框的容器元素text selection,可选参数,如果不设置,则是指文档元素,即整个页面的文本选择都会触发分享功能。
假设新浪微博分享图标的HTML如下:
代码显示如下:
然后直接使用如下代码:
代码显示如下:
$sinaMiniBlogShare(document.getElementById("imgSinaShare"));
我希望这篇文章能帮助你建立你的 WordPress 网站。
以上就是Wordpress如何将选中的内容分享到新浪微博的详细内容。更多详情请关注php中文网其他相关文章!
免责声明:本文原创发表于php中文网。转载请注明出处。感谢您的尊重!如果您有任何疑问,请与我们联系 查看全部
网站调用新浪微博内容(
Wordpress将选中内容分享到新浪腾讯微博的方法)

Wordpress 如何将选定的内容分享到新浪微博?
本文介绍了 Wordpress 如何将所选内容分享到新浪腾讯微博的示例。分享给大家,供大家参考。具体方法如下:
推荐:《Wordpress 教程》
1、介绍jQuery,相信大部分WordPress博客都已经介绍了jQuery,可以直接进行第二步。
2、在页面底部,或者更准确的说,在引入jQuery库之后添加这样一段JS,就可以看到和本站一样的效果了。
选择和分享的功能似乎比较先进。实际上,实现非常简单。其中头大,常人不感兴趣的原理这里略过。选中js文本后,分享到新浪微博的功能很简单。是封装的,方法名是:$sinaMiniBlogShare
示例代码如下:
代码显示如下:
var miniBlogShare = function() {
//指定位置驻入节点
$('1328255868614.gif/1328255868314.png').appendTo('body');
//默认样式
$('.img_share').css({
display : 'none',
position : 'absolute',
cursor : 'pointer'
});
//选中文字
var funGetSelectTxt = function() {
var txt = '';
if(document.selection) {
txt = document.selection.createRange().text;
} else {
txt = document.getSelection();
}
return txt.toString();
};
//选中文字后显示微博图标
$('html,body').mouseup(function(e) {
if (e.target.id == 'imgSinaShare' || e.target.id == 'imgQqShare') {
return
}
e = e || window.event;
var txt = funGetSelectTxt(),
sh = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
left = (e.clientX - 40 < 0) ? e.clientX + 20 : e.clientX - 40,
top = (e.clientY - 40 < 0) ? e.clientY + sh + 20 : e.clientY + sh - 40;
if (txt) {
$('#imgSinaShare').css({
display : 'inline',
left : left,
top : top
});
$('#imgQqShare').css({
display : 'inline',
left : left + 30,
top : top
});
} else {
$('#imgSinaShare').css('display', 'none');
$('#imgQqShare').css('display', 'none');
}
});
//点击新浪微博
$('#imgSinaShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.sina.com.cn/share/s ... 39%3B + txt + ' —— 转载自:' + title + '&url=' + window.location.href);
}
});
//点击腾讯微博
$('#imgQqShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.qq.com/share/share.php?title=' + encodeURIComponent(txt + ' —— 转载自:' + title) + '&url=' + window.location.href);
}
});
}();
可以看到$sinaMiniBlogShare 方法有两个参数,eleShare 和eleContainer。其中,第一个参数是必须的,指的是选中文本后出现的浮动图层元素(本文demo中为新浪眼图标),后一个参数指的是文本框的容器元素text selection,可选参数,如果不设置,则是指文档元素,即整个页面的文本选择都会触发分享功能。
假设新浪微博分享图标的HTML如下:
代码显示如下:

然后直接使用如下代码:
代码显示如下:
$sinaMiniBlogShare(document.getElementById("imgSinaShare"));
我希望这篇文章能帮助你建立你的 WordPress 网站。
以上就是Wordpress如何将选中的内容分享到新浪微博的详细内容。更多详情请关注php中文网其他相关文章!

免责声明:本文原创发表于php中文网。转载请注明出处。感谢您的尊重!如果您有任何疑问,请与我们联系
网站调用新浪微博内容(php调用新浪微博api怎么获取url返回的json使用curl)
网站优化 • 优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-11-29 23:04
1、新浪微博用的是什么php框架?
一般来说,新浪、百度等大公司都在开发自己的框架。
很少用到第三方的,连他们用的javascript库都是自己写的!
2、 新浪微博开发PHP可以实现这样的功能,见下图。
这不需要php,而是js。这是新浪发布的api。去新浪找一个特殊的代码给你。
3、求PHP的外部代码网站同步新浪微博内容,关注内容同步,3Q
如果想让微博内容同步到代码插入网站,必须在微博管理设置中获取,然后插入网站。
如果您将网站的更新内容同步到您的微博,取决于您的PHP 网站是否有API接口应用。否则没有代码共享,只能自己开发。
4、php如何调用新浪微博api获取url返回的json?
用curl模拟php的post或get请求,然后新浪接口会返回json数据,你可以在php中接收。可以参考下面这个网站,flie_get_content()curl等有多种方法,我习惯用curl,
希望这可以帮助
5、php使用新浪微博API自动授权
新浪的php有例子,你可以直接关注他。获取access_token的地方在callback.php,你应该先看懂例子。$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']); 最后,你会得到 $token['access_token']; 就是这个。它的时间限制根据您的开发人员级别而增加。一开始可能是1天或7天。当您的流量上升时,您可以申请更高的级别。最高级别是 30 天。并且有一个expires_in参数专门用来记录过期日期。
6、 PHP定时发送新浪微博,出现错误
每次发送的数据都一样吗?同样的事情似乎不起作用
另外,您负责发送实时执行的php页面吗?
7、如何在PHP中给HTML页面添加新浪微博图标认证如下图
这种东西一般是通过字体图标来实现的,比如Bootstrap的Font Awesome。
使用方法如下:
首先介绍一下css库:
然后,在需要的地方引用如下:
类名是字体图标的名称。具体名称参考官网:
8、php怎么调用新浪微博的api,比如显示某人的粉丝!急...求例子!
新浪微博API封装在新浪微博SDK中
所以先阅读微博SDK,微博应用开发者使用的
你可以搜索新浪sae找到相关教程
9、我网站发布内容时如何自动将内容发布到新浪微博,php函数怎么写
这要看新浪微博有没有这个功能。如果有,就用PHP写一个提交函数,把内容提交到新浪微博。在PHP中,表示向新浪微博提交表单。使用 post 请求。
10、PHP获取新浪微博信息的问题
在正式的方式中,没有办法获取所有的信息,但是可以获取一些信息。你可以在微博开放平台上看到。它更容易实施。
非法方法是伪造登录身份,抓取微博页面上的数据,然后进行整合。高成本。
如果这个人没有新浪微博,他怎么能在微博上获取信息? 查看全部
网站调用新浪微博内容(php调用新浪微博api怎么获取url返回的json使用curl)
1、新浪微博用的是什么php框架?
一般来说,新浪、百度等大公司都在开发自己的框架。
很少用到第三方的,连他们用的javascript库都是自己写的!
2、 新浪微博开发PHP可以实现这样的功能,见下图。
这不需要php,而是js。这是新浪发布的api。去新浪找一个特殊的代码给你。
3、求PHP的外部代码网站同步新浪微博内容,关注内容同步,3Q
如果想让微博内容同步到代码插入网站,必须在微博管理设置中获取,然后插入网站。
如果您将网站的更新内容同步到您的微博,取决于您的PHP 网站是否有API接口应用。否则没有代码共享,只能自己开发。
4、php如何调用新浪微博api获取url返回的json?
用curl模拟php的post或get请求,然后新浪接口会返回json数据,你可以在php中接收。可以参考下面这个网站,flie_get_content()curl等有多种方法,我习惯用curl,
希望这可以帮助
5、php使用新浪微博API自动授权
新浪的php有例子,你可以直接关注他。获取access_token的地方在callback.php,你应该先看懂例子。$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']); 最后,你会得到 $token['access_token']; 就是这个。它的时间限制根据您的开发人员级别而增加。一开始可能是1天或7天。当您的流量上升时,您可以申请更高的级别。最高级别是 30 天。并且有一个expires_in参数专门用来记录过期日期。
6、 PHP定时发送新浪微博,出现错误
每次发送的数据都一样吗?同样的事情似乎不起作用
另外,您负责发送实时执行的php页面吗?
7、如何在PHP中给HTML页面添加新浪微博图标认证如下图
这种东西一般是通过字体图标来实现的,比如Bootstrap的Font Awesome。
使用方法如下:
首先介绍一下css库:
然后,在需要的地方引用如下:
类名是字体图标的名称。具体名称参考官网:
8、php怎么调用新浪微博的api,比如显示某人的粉丝!急...求例子!
新浪微博API封装在新浪微博SDK中
所以先阅读微博SDK,微博应用开发者使用的
你可以搜索新浪sae找到相关教程
9、我网站发布内容时如何自动将内容发布到新浪微博,php函数怎么写
这要看新浪微博有没有这个功能。如果有,就用PHP写一个提交函数,把内容提交到新浪微博。在PHP中,表示向新浪微博提交表单。使用 post 请求。
10、PHP获取新浪微博信息的问题
在正式的方式中,没有办法获取所有的信息,但是可以获取一些信息。你可以在微博开放平台上看到。它更容易实施。
非法方法是伪造登录身份,抓取微博页面上的数据,然后进行整合。高成本。
如果这个人没有新浪微博,他怎么能在微博上获取信息?
网站调用新浪微博内容(网站调用新浪微博内容功能失败而返,应该是因为……)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-29 07:02
网站调用新浪微博内容功能失败而返,应该是因为新浪微博的爬虫被封杀了,可以从这个网站获取微博文章。/,这个是上传链接,点击下载连接即可下载。
设置好ua设置好cookiesecret设置好可信度代码设置好密码就可以正常访问了
从新浪网下载一个抓取新浪新闻的代码可以解决
得跟新浪扯上点关系才行,
yandex。别笑!在美国月度大统一广告商报告上发表的2016年美国广告业报告研究显示,预计2016年将是一场美国网络广告史上的重大变革。在过去的十二个月时间里,广告市场竞争日益激烈,几家网络公司将市场份额占有率逐渐达到了四分之一。这十二个月是互联网从概念到大规模商业化的重要一年。
写个,主流ie9以上,chrome,
python+googleapi+rss订阅这是效果最好的。
没必要爬新浪,因为新浪服务器限制太多,而且网址经常被封,最近倒是可以试一下,利用新浪微博的订阅功能就可以订阅新浪新闻,
rss订阅
firefoxorchrome。
别不信,rss可以解决这个问题,别信你百度到的说法原始版本需要特殊的设置,不然只能打开,不能下载,不能看我就是因为之前是windows,后来还是从os转过来, 查看全部
网站调用新浪微博内容(网站调用新浪微博内容功能失败而返,应该是因为……)
网站调用新浪微博内容功能失败而返,应该是因为新浪微博的爬虫被封杀了,可以从这个网站获取微博文章。/,这个是上传链接,点击下载连接即可下载。
设置好ua设置好cookiesecret设置好可信度代码设置好密码就可以正常访问了
从新浪网下载一个抓取新浪新闻的代码可以解决
得跟新浪扯上点关系才行,
yandex。别笑!在美国月度大统一广告商报告上发表的2016年美国广告业报告研究显示,预计2016年将是一场美国网络广告史上的重大变革。在过去的十二个月时间里,广告市场竞争日益激烈,几家网络公司将市场份额占有率逐渐达到了四分之一。这十二个月是互联网从概念到大规模商业化的重要一年。
写个,主流ie9以上,chrome,
python+googleapi+rss订阅这是效果最好的。
没必要爬新浪,因为新浪服务器限制太多,而且网址经常被封,最近倒是可以试一下,利用新浪微博的订阅功能就可以订阅新浪新闻,
rss订阅
firefoxorchrome。
别不信,rss可以解决这个问题,别信你百度到的说法原始版本需要特殊的设置,不然只能打开,不能下载,不能看我就是因为之前是windows,后来还是从os转过来,
网站调用新浪微博内容(python言语恶劣地评论个人博客是垃圾,说个人代码有问题 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-11-28 12:37
)
PS:(本人长期售卖大量微博数据,旅游网站评论数据,并提供各种指定的数据爬取服务,Message to。由于更新后微博界面限制增加,此代码可以不再使用爬取数据。如果只是采集数据,可以咨询个人邮箱,如果是学习爬取,建议改成phantomjs从网页爬取微博)html
使用新浪API抓取数据
2018.5.16条提示
现在微博的api接口已经不好用了。具有普通权限的令牌无法再抓取任何数据。用这个代码爬取大量数据是不可能的。只有熟悉使用微博api接口的人才能使用。一个小演示。Python
2018.4.16 说明 linux
注:今天有人在个人博客上差评说是垃圾,说个人代码有问题。这个博客历史悠久,是我的第一个爬虫写的。我很感谢能对个人守则发表意见的人,但我受不了人说脏话和态度不好。如果有什么要说的,那就是现代社会,高学历高知识分子的最低意识。ios
我已经更改了代码。如果有什么问题,欢迎您温柔地指出!!!!混帐
同时,由于新浪微博自身api机制的不断变化,截至目前,本博客的内容有所限制。对我的开发者来说,你申请的token权限只能爬你自己的微博。,所以对于那些想依赖api爬取数据的人来说,恐怕达不到他们的目的。如果要使用api抓取微博内容,只能选择获取更高的开发者权限。github
1. 首先来看看我们得到的结果,是否是你想知道的,然后再决定是否继续阅读。
我主要爬取了4天左右的数据,图中可以看到大约360万条数据,因为是在自己的电脑上爬取数据,有时候晚上上网会中断,所以大约一天能爬取100万条左右最新的微博数据(因为我调用的是最新的微博API public_timeline) web
API文档中定义了很多返回类型(以json数据格式返回,我选择了一些我认为重要的信息抓取如图:大概id号,位置,粉丝数,微博内容,微博时间等.虽然这些数据可以根据自己的需要定制。)mongodb
大概就是这个内容。如果你觉得这对你有帮助,请继续阅读... 第一次写博客有点啰嗦2.前期准备
我们需要什么:数据库
2.1mongodb 安装
MongoDB 是一种高性能、开源、无模式的文档数据库,是最流行的 NoSql 数据库之一。在很多场景下可以用来替代传统的关系型数据库或者键/值存储。Mongo 是用 C++ 开发的。Mongo的官方网站地址是:读者可以在这里获得更详细的信息。json
插曲:什么是NoSql?
NoSql,全称Not Only Sql,指的是非关系型数据库。下一代数据库主要解决几个点:非关系型、分布式、开源、横向扩展。最初的目的是用于大型 Web 应用程序。这一运动始于2009年初。 一般特性如:模型自由、支持简单复制、简单API、最终一致性(非ACID)、大容量数据等。NoSQL是我们使用最多的键值存储,当然,还有其他基于文档的、基于列的、基于图的数据库、xml数据库等。
网上有很多安装mongodb的教程,我就不写了
Windows下mongodb的安装
Linux下mongodb的安装
2.2 如何注册新浪开发者账号
* 建立完成后,需要填写手机号码验证*
首次创建应用程序,您需要填写以下信息:
本页面信息无需填写真实信息,如地区、电话等,可随意填写。网站 填写即可。(邮箱必须是真实的)
继续构建应用程序。自定义应用名称,查看平台下的ios、android
建立完成后,返回继续创建。一个账号可以创建10个应用,每个应用对应一个access-token(其实我只用了一个来满足我的需求)
一一选择创建的应用程序。观点
用txt保存下面的令牌。
回到
点击个人申请
然后选择您刚刚创建的应用程序
进入后点击申请信息
保存APP Key和APP Secret
点击高级信息
设置回调地址
可以设为默认
至此你的开发者账号已经完成
2.3 如何安装依赖库
安装请求和 pymongo
可以直接用pip安装
pip install requests 和 pip install pymongo
也可以直接在Pycharm中安装
选择文件 -> 设置 -> 项目 -> 项目解释器
可以看到自己安装的Python库,点击右边绿色的*+*号
只需安装
3.问题分析3.1 OAuth认证
* 授权机制说明(非常重要)*
网上很多人都在谈论使用新浪微博API发送微博。他们使用这种方式来请求用户授权令牌,但是这种方式显然不适合我们爬取数据,因为我们每次都要请求。从新获取代码。详情请参考新浪微博API授权机制
廖雪峰老师(新浪微博贡献者)也对这个授权机制有解释
通过新浪微博网站的API接入,用户无需在您的网站上注册,直接在新浪微博@>用自己的账号和密码登录您的网站,需要确保你的网站在不知道或不知道用户密码的情况下确认用户已经成功登录。因为用户的密码存储在新浪微博中,所以认证用户的过程只能由新浪微博来完成,但是新浪微博是如何和你的网站沟通并告诉你用户是否登录成功的呢?这个过程称为第三方登录。OAuth 是标准的第三方登录协议。通过 OAuth,您的 网站 可以安全地访问从新浪微博成功登录的用户。
OAuth 目前有两个版本:1.0 和 2.0。2.0版本大大简化了1.0版本,API更简单。新浪微博最新的API也是使用OAuth2.0。整个登录过程如下:
用户在您的网站上点击“使用新浪微博登录”,您的网站将用户重定向到新浪微博的OAuth认证页面。重定向的连接收录client_id参数作为你的网站ID,redirect_uri参数告诉新浪微博,当用户登录成功后,浏览器将重定向到你的网站;用户在新浪微博认证页面输入账号和密码;新浪微博认证成功后,将浏览器重定向到你的网站并附上code参数;你的网站通过code参数向新浪微博请求用户的访问令牌;你的 网站 拿到用户的访问令牌后,用户登录就完成了。
OAuth访问令牌是由网站(如新浪微博)生成的提供认证服务的令牌,表示用户的认证信息。在随后的 API 调用中,传入访问令牌以指示已登录的用户。这样在OAuth协议之后,你的网站会将用户验证步骤交给新浪微博完成,新浪微博会通知你用户是否登录成功。
OAuth的安全是通过第4步完成的。通过code参数获取access token的过程由你的网站后台到新浪微博网站完成,用户看不到获取的HTTP访问令牌。问。如果用户输入伪造的代码,新浪微博将返回错误。
详情请参考廖雪峰老师的文档
一般来说,按照通常要求用户授权调用Token的情况,会出现这种情况:
获取代码
登录后会转一个链接××××××××
我们需要的是code=××××××××××××的值
也就是说,每次调用API认证都会在浏览器中出现一段代码,这显然不利于爬取网站
如何解决问题?首先我们想到的就是在Python程序中模拟登录新浪微博,然后自然就可以得到code值了。不过模拟新浪微博登录比较复杂,既然模拟登录成功了,何必调用API呢……直接自定义爬取不是更方便。
如果你看过上面的授权机制,你应该会想到的。这时候就需要我们之前申请的access-token
个人理解,access-token就是将你的微博授权给第三方,让他为你做一些事情。类似于在手机上通过新浪微博登录然后进行操作(使用上面提到的授权机制) 总之,手机应用可以直接使用官方的手机SDK,通过调用微博客户端进行授权(如果未安装微博客户端,会调用H5授权页面)。
你应该熟悉这个界面
新浪也对Oauth2/access token进行了说明
4.代码实现
有了token,实现数据抓取就很简单了
可以抓取多少数据取决于您的令牌权限
下一步是使用API获取数据:新建一个文件weibo_run.py
# -*- coding:utf-8 -*-
import requests
from pymongo import MongoClient
ACCESS_TOKEN = '2.00ZooSqFHAgn3D59864ee3170DLjNj'
URL = 'https://api.weibo.com/2/statuses/public_timeline.json'
def run():
#受权
while True:
#调用statuses__public_timeline的api接口
params = {
'access_token': ACCESS_TOKEN
}
statuses = requests.get(url=URL, params=params).json()['statuses']
length = len(statuses)
#这是后来我为了查看获取微博条数设置的
print length
#链接mongodb,不须要本地的额外配置
Monclient = MongoClient('localhost', 27017)
db = Monclient['Weibo']
WeiboData = db['HadSelected']
#获取的各个数据名应该能够清楚的看出来对应的是什么数据
for i in range(0, length):
created_at = statuses[i]['created_at']
id = statuses[i]['user']['id']
province = statuses[i]['user']['province']
city = statuses[i]['user']['city']
followers_count = statuses[i]['user']['followers_count']
friends_count = statuses[i]['user']['friends_count']
statuses_count = statuses[i]['user']['statuses_count']
url = statuses[i]['user']['url']
geo = statuses[i]['geo']
comments_count = statuses[i]['comments_count']
reposts_count = statuses[i]['reposts_count']
nickname = statuses[i]['user']['screen_name']
desc = statuses[i]['user']['description']
location = statuses[i]['user']['location']
text = statuses[i]['text']
#插入mongodb
WeiboData.insert_one({
'created_at': created_at,
'id': id,
'nickname': nickname,
'text': text,
'province': province,
'location': location,
'description': desc,
'city': city,
'followers_count': followers_count,
'friends_count': friends_count,
'statuses_count': statuses_count,
'url': url,
'geo': geo,
'comments_count': comments_count,
'reposts_count': reposts_count
})
if __name__ == "__main__":
run()
个人代码一开始是这样的,现在好像搞定了。
不过因为新浪会限制可以调用的次数,所以我又尝试运行了一下,发现了一个问题。我之前打印长度的每一行得到的值都不一样,一直在16-20之间徘徊。它表明我从新运行中获得的数据每次都不同。然后就想算了,就写个无限循环看他什么时候又会被阻塞。所以代码变成如下
删除 run() 并将其替换为以下无限循环。
if __name__ == "__main__":
while 1:
try:
run()
except:
pass
结果,他一直在跑……已经跑了四天了,没有被堵死。估计是不能屏蔽了……
其他接口也以同样的方式使用。只需更改 url 和 params。具体参数请参考新浪微博API文档。
一开始我发现我一天可以拿到800万条数据,这让我很开心……后来我发现了很多重复的数据。找了半天终于找到了解决办法。在mongodb中,根据用户的id和建立时间创建了一个索引(因为不可能同时发两条微博),最后没有重复数据一天搞100条。一万条信息。
我的博客 查看全部
网站调用新浪微博内容(python言语恶劣地评论个人博客是垃圾,说个人代码有问题
)
PS:(本人长期售卖大量微博数据,旅游网站评论数据,并提供各种指定的数据爬取服务,Message to。由于更新后微博界面限制增加,此代码可以不再使用爬取数据。如果只是采集数据,可以咨询个人邮箱,如果是学习爬取,建议改成phantomjs从网页爬取微博)html
使用新浪API抓取数据
2018.5.16条提示
现在微博的api接口已经不好用了。具有普通权限的令牌无法再抓取任何数据。用这个代码爬取大量数据是不可能的。只有熟悉使用微博api接口的人才能使用。一个小演示。Python
2018.4.16 说明 linux
注:今天有人在个人博客上差评说是垃圾,说个人代码有问题。这个博客历史悠久,是我的第一个爬虫写的。我很感谢能对个人守则发表意见的人,但我受不了人说脏话和态度不好。如果有什么要说的,那就是现代社会,高学历高知识分子的最低意识。ios
我已经更改了代码。如果有什么问题,欢迎您温柔地指出!!!!混帐
同时,由于新浪微博自身api机制的不断变化,截至目前,本博客的内容有所限制。对我的开发者来说,你申请的token权限只能爬你自己的微博。,所以对于那些想依赖api爬取数据的人来说,恐怕达不到他们的目的。如果要使用api抓取微博内容,只能选择获取更高的开发者权限。github
1. 首先来看看我们得到的结果,是否是你想知道的,然后再决定是否继续阅读。

我主要爬取了4天左右的数据,图中可以看到大约360万条数据,因为是在自己的电脑上爬取数据,有时候晚上上网会中断,所以大约一天能爬取100万条左右最新的微博数据(因为我调用的是最新的微博API public_timeline) web
API文档中定义了很多返回类型(以json数据格式返回,我选择了一些我认为重要的信息抓取如图:大概id号,位置,粉丝数,微博内容,微博时间等.虽然这些数据可以根据自己的需要定制。)mongodb
大概就是这个内容。如果你觉得这对你有帮助,请继续阅读... 第一次写博客有点啰嗦2.前期准备
我们需要什么:数据库
2.1mongodb 安装
MongoDB 是一种高性能、开源、无模式的文档数据库,是最流行的 NoSql 数据库之一。在很多场景下可以用来替代传统的关系型数据库或者键/值存储。Mongo 是用 C++ 开发的。Mongo的官方网站地址是:读者可以在这里获得更详细的信息。json
插曲:什么是NoSql?
NoSql,全称Not Only Sql,指的是非关系型数据库。下一代数据库主要解决几个点:非关系型、分布式、开源、横向扩展。最初的目的是用于大型 Web 应用程序。这一运动始于2009年初。 一般特性如:模型自由、支持简单复制、简单API、最终一致性(非ACID)、大容量数据等。NoSQL是我们使用最多的键值存储,当然,还有其他基于文档的、基于列的、基于图的数据库、xml数据库等。
网上有很多安装mongodb的教程,我就不写了
Windows下mongodb的安装
Linux下mongodb的安装
2.2 如何注册新浪开发者账号

* 建立完成后,需要填写手机号码验证*



首次创建应用程序,您需要填写以下信息:

本页面信息无需填写真实信息,如地区、电话等,可随意填写。网站 填写即可。(邮箱必须是真实的)
继续构建应用程序。自定义应用名称,查看平台下的ios、android

建立完成后,返回继续创建。一个账号可以创建10个应用,每个应用对应一个access-token(其实我只用了一个来满足我的需求)


一一选择创建的应用程序。观点

用txt保存下面的令牌。
回到

点击个人申请
然后选择您刚刚创建的应用程序

进入后点击申请信息

保存APP Key和APP Secret
点击高级信息
设置回调地址

可以设为默认
至此你的开发者账号已经完成
2.3 如何安装依赖库
安装请求和 pymongo
可以直接用pip安装
pip install requests 和 pip install pymongo
也可以直接在Pycharm中安装
选择文件 -> 设置 -> 项目 -> 项目解释器
可以看到自己安装的Python库,点击右边绿色的*+*号
只需安装
3.问题分析3.1 OAuth认证
* 授权机制说明(非常重要)*
网上很多人都在谈论使用新浪微博API发送微博。他们使用这种方式来请求用户授权令牌,但是这种方式显然不适合我们爬取数据,因为我们每次都要请求。从新获取代码。详情请参考新浪微博API授权机制
廖雪峰老师(新浪微博贡献者)也对这个授权机制有解释
通过新浪微博网站的API接入,用户无需在您的网站上注册,直接在新浪微博@>用自己的账号和密码登录您的网站,需要确保你的网站在不知道或不知道用户密码的情况下确认用户已经成功登录。因为用户的密码存储在新浪微博中,所以认证用户的过程只能由新浪微博来完成,但是新浪微博是如何和你的网站沟通并告诉你用户是否登录成功的呢?这个过程称为第三方登录。OAuth 是标准的第三方登录协议。通过 OAuth,您的 网站 可以安全地访问从新浪微博成功登录的用户。
OAuth 目前有两个版本:1.0 和 2.0。2.0版本大大简化了1.0版本,API更简单。新浪微博最新的API也是使用OAuth2.0。整个登录过程如下:
用户在您的网站上点击“使用新浪微博登录”,您的网站将用户重定向到新浪微博的OAuth认证页面。重定向的连接收录client_id参数作为你的网站ID,redirect_uri参数告诉新浪微博,当用户登录成功后,浏览器将重定向到你的网站;用户在新浪微博认证页面输入账号和密码;新浪微博认证成功后,将浏览器重定向到你的网站并附上code参数;你的网站通过code参数向新浪微博请求用户的访问令牌;你的 网站 拿到用户的访问令牌后,用户登录就完成了。
OAuth访问令牌是由网站(如新浪微博)生成的提供认证服务的令牌,表示用户的认证信息。在随后的 API 调用中,传入访问令牌以指示已登录的用户。这样在OAuth协议之后,你的网站会将用户验证步骤交给新浪微博完成,新浪微博会通知你用户是否登录成功。
OAuth的安全是通过第4步完成的。通过code参数获取access token的过程由你的网站后台到新浪微博网站完成,用户看不到获取的HTTP访问令牌。问。如果用户输入伪造的代码,新浪微博将返回错误。
详情请参考廖雪峰老师的文档
一般来说,按照通常要求用户授权调用Token的情况,会出现这种情况:

获取代码

登录后会转一个链接××××××××
我们需要的是code=××××××××××××的值
也就是说,每次调用API认证都会在浏览器中出现一段代码,这显然不利于爬取网站
如何解决问题?首先我们想到的就是在Python程序中模拟登录新浪微博,然后自然就可以得到code值了。不过模拟新浪微博登录比较复杂,既然模拟登录成功了,何必调用API呢……直接自定义爬取不是更方便。
如果你看过上面的授权机制,你应该会想到的。这时候就需要我们之前申请的access-token
个人理解,access-token就是将你的微博授权给第三方,让他为你做一些事情。类似于在手机上通过新浪微博登录然后进行操作(使用上面提到的授权机制) 总之,手机应用可以直接使用官方的手机SDK,通过调用微博客户端进行授权(如果未安装微博客户端,会调用H5授权页面)。
你应该熟悉这个界面

新浪也对Oauth2/access token进行了说明
4.代码实现
有了token,实现数据抓取就很简单了
可以抓取多少数据取决于您的令牌权限
下一步是使用API获取数据:新建一个文件weibo_run.py
# -*- coding:utf-8 -*-
import requests
from pymongo import MongoClient
ACCESS_TOKEN = '2.00ZooSqFHAgn3D59864ee3170DLjNj'
URL = 'https://api.weibo.com/2/statuses/public_timeline.json'
def run():
#受权
while True:
#调用statuses__public_timeline的api接口
params = {
'access_token': ACCESS_TOKEN
}
statuses = requests.get(url=URL, params=params).json()['statuses']
length = len(statuses)
#这是后来我为了查看获取微博条数设置的
print length
#链接mongodb,不须要本地的额外配置
Monclient = MongoClient('localhost', 27017)
db = Monclient['Weibo']
WeiboData = db['HadSelected']
#获取的各个数据名应该能够清楚的看出来对应的是什么数据
for i in range(0, length):
created_at = statuses[i]['created_at']
id = statuses[i]['user']['id']
province = statuses[i]['user']['province']
city = statuses[i]['user']['city']
followers_count = statuses[i]['user']['followers_count']
friends_count = statuses[i]['user']['friends_count']
statuses_count = statuses[i]['user']['statuses_count']
url = statuses[i]['user']['url']
geo = statuses[i]['geo']
comments_count = statuses[i]['comments_count']
reposts_count = statuses[i]['reposts_count']
nickname = statuses[i]['user']['screen_name']
desc = statuses[i]['user']['description']
location = statuses[i]['user']['location']
text = statuses[i]['text']
#插入mongodb
WeiboData.insert_one({
'created_at': created_at,
'id': id,
'nickname': nickname,
'text': text,
'province': province,
'location': location,
'description': desc,
'city': city,
'followers_count': followers_count,
'friends_count': friends_count,
'statuses_count': statuses_count,
'url': url,
'geo': geo,
'comments_count': comments_count,
'reposts_count': reposts_count
})
if __name__ == "__main__":
run()
个人代码一开始是这样的,现在好像搞定了。
不过因为新浪会限制可以调用的次数,所以我又尝试运行了一下,发现了一个问题。我之前打印长度的每一行得到的值都不一样,一直在16-20之间徘徊。它表明我从新运行中获得的数据每次都不同。然后就想算了,就写个无限循环看他什么时候又会被阻塞。所以代码变成如下
删除 run() 并将其替换为以下无限循环。
if __name__ == "__main__":
while 1:
try:
run()
except:
pass
结果,他一直在跑……已经跑了四天了,没有被堵死。估计是不能屏蔽了……
其他接口也以同样的方式使用。只需更改 url 和 params。具体参数请参考新浪微博API文档。
一开始我发现我一天可以拿到800万条数据,这让我很开心……后来我发现了很多重复的数据。找了半天终于找到了解决办法。在mongodb中,根据用户的id和建立时间创建了一个索引(因为不可能同时发两条微博),最后没有重复数据一天搞100条。一万条信息。
我的博客
网站调用新浪微博内容(博文的数据表示并不统一发博文用户的昵称、Uid)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-28 12:32
但是,博客文章的数据表示并不统一。发表博文的用户的昵称、Uid、首页链接作为属性存储在标签中,博文的发表时间作为属性存储在标签中;博文的内容直接以HTML文本的形式存储在标签中,博文的转发数、评论数、点赞数存储在结构中,具体值存储在HTML 文本形式的标记。另外,博文的转发、评论、点赞数与转发博文的转发、评论、点赞数不同。
也正是由于这些差异,仅仅通过标签过滤是难以有效获取所需数据的。为了方便提取微博数据,本文使用lxml作为微博页面分析的工具。lxml 是用于 HTML/XML 解析和构建 DOM 的第三方 Python 库。可以快速灵活地处理XML格式的文档,支持XPath和XSLT,收录ElementTree、html5lib、BeautfulSoup等库。
HTML解析器使用lxml,可以使用以下语句快速解析获取到的微博页面,建立节点化的DOM结构:
将 lxml.html.soupparser 导入为 soupparser
将 lxml.etree 导入为 etree
dom=soupparser.fromstring(html)
etree.tostring(dom)
这时候只要根据分析的微博页面结构,一一访问DOM中的相关节点,就可以获取到所需的微博数据。
2.4 延迟加载处理
新浪微博页面刷新时,使用了Ajax的Lazy Load技术。开始时,页面上的所有博文都不会被加载和显示,但只会加载和显示 15 篇博文。当滚动条滚动到页面底部时,会自动加载另外 15 篇博文。所以一个完整的微博页面需要滚动和加载两次才能获得全部 45 篇博文。 查看全部
网站调用新浪微博内容(博文的数据表示并不统一发博文用户的昵称、Uid)
但是,博客文章的数据表示并不统一。发表博文的用户的昵称、Uid、首页链接作为属性存储在标签中,博文的发表时间作为属性存储在标签中;博文的内容直接以HTML文本的形式存储在标签中,博文的转发数、评论数、点赞数存储在结构中,具体值存储在HTML 文本形式的标记。另外,博文的转发、评论、点赞数与转发博文的转发、评论、点赞数不同。
也正是由于这些差异,仅仅通过标签过滤是难以有效获取所需数据的。为了方便提取微博数据,本文使用lxml作为微博页面分析的工具。lxml 是用于 HTML/XML 解析和构建 DOM 的第三方 Python 库。可以快速灵活地处理XML格式的文档,支持XPath和XSLT,收录ElementTree、html5lib、BeautfulSoup等库。
HTML解析器使用lxml,可以使用以下语句快速解析获取到的微博页面,建立节点化的DOM结构:
将 lxml.html.soupparser 导入为 soupparser
将 lxml.etree 导入为 etree
dom=soupparser.fromstring(html)
etree.tostring(dom)
这时候只要根据分析的微博页面结构,一一访问DOM中的相关节点,就可以获取到所需的微博数据。
2.4 延迟加载处理
新浪微博页面刷新时,使用了Ajax的Lazy Load技术。开始时,页面上的所有博文都不会被加载和显示,但只会加载和显示 15 篇博文。当滚动条滚动到页面底部时,会自动加载另外 15 篇博文。所以一个完整的微博页面需要滚动和加载两次才能获得全部 45 篇博文。
网站调用新浪微博内容(网站调用新浪微博内容会被新浪拉黑怎么破?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 48 次浏览 • 2021-11-25 22:04
网站调用新浪微博内容会被新浪拉黑,部分用户可以有一定概率被新浪展示给他们(搜索引擎入侵,品牌打响,快手等触发新浪入侵),我建议你在举报中详细描述,以下问题:内容发送到新浪微博的何时:用户举报提交到新浪微博后,新浪微博会在48小时内处理。但新浪将在第一时间内删除发布在其网站上的内容。在新浪微博的发布时间,1-7天内,该内容均不会显示在其他网站上。
是否同时参与到第三方软件/硬件中:同时参与新浪微博的任何第三方硬件及软件均应使用新浪微博帐号登录新浪微博发布信息后,其主页亦须关闭评论功能/人工筛选功能等。否则帐号将被拉黑。上述问题,如不明白,可联系新浪客服95284,该客服人员将及时协助解决。仅供参考。
腾讯,快手,天天快手,腾讯是没有任何影响的。和新浪网站没有任何影响。因为新浪之前在跟腾讯新闻合作,一样需要网站提供。从10月1号起,腾讯开始正式对广告客户端进行征收20%手续费,5年期限,
同样,腾讯给的大多数都是恶心的黄色或者各种评论类。对腾讯基本无影响,还被人造谣说他泄露qq账号信息等。
腾讯的新闻都是内容从别家转来的。快手几乎没有用户举报。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容会被新浪拉黑怎么破?)
网站调用新浪微博内容会被新浪拉黑,部分用户可以有一定概率被新浪展示给他们(搜索引擎入侵,品牌打响,快手等触发新浪入侵),我建议你在举报中详细描述,以下问题:内容发送到新浪微博的何时:用户举报提交到新浪微博后,新浪微博会在48小时内处理。但新浪将在第一时间内删除发布在其网站上的内容。在新浪微博的发布时间,1-7天内,该内容均不会显示在其他网站上。
是否同时参与到第三方软件/硬件中:同时参与新浪微博的任何第三方硬件及软件均应使用新浪微博帐号登录新浪微博发布信息后,其主页亦须关闭评论功能/人工筛选功能等。否则帐号将被拉黑。上述问题,如不明白,可联系新浪客服95284,该客服人员将及时协助解决。仅供参考。
腾讯,快手,天天快手,腾讯是没有任何影响的。和新浪网站没有任何影响。因为新浪之前在跟腾讯新闻合作,一样需要网站提供。从10月1号起,腾讯开始正式对广告客户端进行征收20%手续费,5年期限,
同样,腾讯给的大多数都是恶心的黄色或者各种评论类。对腾讯基本无影响,还被人造谣说他泄露qq账号信息等。
腾讯的新闻都是内容从别家转来的。快手几乎没有用户举报。
网站调用新浪微博内容(=你的分享标题pics(图)=(组图) )
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-11-25 11:15
)
一、qq空间
&title=富格式重传时的默认文本内容或消息正文的标题,富格式最多15个全角字符
&url=中继页面的url
&pics=需要重播的图片的url,多张图片用|
&summary=分享描述信息
&site=分享源如:腾讯(可选)
&desc=默认共享原因(可选)
&appkey=填写正确的appkey,重播后会显示key的来源
&line1=邮件正文第一行的文本,长度最多为 15 个全角字符
&line2=邮件正文第二行的文本,长度最多为 15 个全角字符
&line3=邮件正文第三行的文字,最长15个全角字符
1.分享到QQ空间界面:你的网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片&summary=你的分享描述信息
2.分享到QQ好友界面:你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简介
二、新浪微博
count=表示是否显示当前页面的共享页数(1显示)(可选,允许为空)
&url= 将页面地址转换为短域名并显示在内容文本后面。 (可选,允许为空)
&appkey=显示用于发布微博的来源。如果为空,则显示来自互联网的共享内容来源。 (可选,允许为空)
&title=分享时显示的文字内容,如果为空,会自动抓取分享页面的标题值(可选,允许为空)
&pic=自定义图片地址,为微博图片(可选,允许为空)
&ralateUid=转发时会@相关微博账号(可选,允许为空)
&language=语言设置(zh_cn|zh_tw)(可选)
1.分享到新浪微博界面:你的分享地址&sharesource=weibo&title=你的分享标题&pic=你的分享图片&appkey=你的key
三、豆瓣
image=分享图片
&url=分享网址
&name=分享标题
&text=分享内容
1.分享豆瓣:你的分享网址&名称=分享标题&文字=分享内容
四、生成二维码扫描分享到微信
您的分享网址
五、优酷
五、代码
分享到:
function shareTo(types) {
var title, imageUrl, url, description, keywords;
//获取文章标题
title = document.title;
//获取网页中内容的第一张图片地址作为分享图
imageUrl = document.images[0].src;
// imageUrl = document.getElementById("pcdetails").getElementsByTagName("img")[0];
//当内容中没有图片时,设置分享图片为网站logo
if (typeof imageUrl == 'undefined') {
imageUrl = 'https://' + window.location.host + '/static/images/logo.png';
} else {
imageUrl = imageUrl.src;
}
//获取当前网页url 这个地方根据你的页面来
// url = document.location.href;
url = 'feisu.com';
//获取网页描述
description = document.querySelector('meta[name="description"]').getAttribute('content');
//获取网页关键字
keywords = document.querySelector('meta[name="keywords"]').getAttribute('content');
//qq空间接口的传参
if (types == 'qzone') {
window.open('https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description, '', 'width=800,height=650,top=100,left=15');
}
//新浪微博接口的传参
if (types == 'sina') {
window.open('http://service.weibo.com/share/share.php?url=' + url + '&sharesource=weibo&title=' + title + '&pic=' + imageUrl + '&appkey=2706825840', '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//qq好友接口的传参
if (types == 'qq') {
window.open('http://connect.qq.com/widget/shareqq/index.html?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description + '&desc=' + keywords, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//生成二维码给微信扫描分享
if (types == 'wechat') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://zixuephp.net/inc/qrcode_img.php?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
// 豆瓣网
if (types == 'tudou') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://www.douban.com/share/service?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
} 查看全部
网站调用新浪微博内容(=你的分享标题pics(图)=(组图)
)
一、qq空间
&title=富格式重传时的默认文本内容或消息正文的标题,富格式最多15个全角字符
&url=中继页面的url
&pics=需要重播的图片的url,多张图片用|
&summary=分享描述信息
&site=分享源如:腾讯(可选)
&desc=默认共享原因(可选)
&appkey=填写正确的appkey,重播后会显示key的来源
&line1=邮件正文第一行的文本,长度最多为 15 个全角字符
&line2=邮件正文第二行的文本,长度最多为 15 个全角字符
&line3=邮件正文第三行的文字,最长15个全角字符
1.分享到QQ空间界面:你的网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片&summary=你的分享描述信息
2.分享到QQ好友界面:你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简介
二、新浪微博
count=表示是否显示当前页面的共享页数(1显示)(可选,允许为空)
&url= 将页面地址转换为短域名并显示在内容文本后面。 (可选,允许为空)
&appkey=显示用于发布微博的来源。如果为空,则显示来自互联网的共享内容来源。 (可选,允许为空)
&title=分享时显示的文字内容,如果为空,会自动抓取分享页面的标题值(可选,允许为空)
&pic=自定义图片地址,为微博图片(可选,允许为空)
&ralateUid=转发时会@相关微博账号(可选,允许为空)
&language=语言设置(zh_cn|zh_tw)(可选)
1.分享到新浪微博界面:你的分享地址&sharesource=weibo&title=你的分享标题&pic=你的分享图片&appkey=你的key
三、豆瓣
image=分享图片
&url=分享网址
&name=分享标题
&text=分享内容
1.分享豆瓣:你的分享网址&名称=分享标题&文字=分享内容
四、生成二维码扫描分享到微信
您的分享网址
五、优酷
五、代码
分享到:





function shareTo(types) {
var title, imageUrl, url, description, keywords;
//获取文章标题
title = document.title;
//获取网页中内容的第一张图片地址作为分享图
imageUrl = document.images[0].src;
// imageUrl = document.getElementById("pcdetails").getElementsByTagName("img")[0];
//当内容中没有图片时,设置分享图片为网站logo
if (typeof imageUrl == 'undefined') {
imageUrl = 'https://' + window.location.host + '/static/images/logo.png';
} else {
imageUrl = imageUrl.src;
}
//获取当前网页url 这个地方根据你的页面来
// url = document.location.href;
url = 'feisu.com';
//获取网页描述
description = document.querySelector('meta[name="description"]').getAttribute('content');
//获取网页关键字
keywords = document.querySelector('meta[name="keywords"]').getAttribute('content');
//qq空间接口的传参
if (types == 'qzone') {
window.open('https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description, '', 'width=800,height=650,top=100,left=15');
}
//新浪微博接口的传参
if (types == 'sina') {
window.open('http://service.weibo.com/share/share.php?url=' + url + '&sharesource=weibo&title=' + title + '&pic=' + imageUrl + '&appkey=2706825840', '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//qq好友接口的传参
if (types == 'qq') {
window.open('http://connect.qq.com/widget/shareqq/index.html?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description + '&desc=' + keywords, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//生成二维码给微信扫描分享
if (types == 'wechat') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://zixuephp.net/inc/qrcode_img.php?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
// 豆瓣网
if (types == 'tudou') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://www.douban.com/share/service?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
}
网站调用新浪微博内容( 2018年09月22日11:26日一起登录为例)
网站优化 • 优采云 发表了文章 • 0 个评论 • 37 次浏览 • 2021-11-22 08:18
2018年09月22日11:26日一起登录为例)
PHP调用微博接口实现微博登录示例
更新时间:2018-09-22 11:26:11 作者:JONGTY
本文文章主要介绍PHP如何调用微博接口实现微博登录的一个例子。小编觉得还不错。现在分享给大家,给大家一个参考。跟着小编一起来看看吧
在平时的项目开发过程中,除了用这个网站账号注册登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户使用微博账号登录访问第三方网站,分享内容,同步信息。
1、首先需要将需要授权的用户引导到以下地址:
如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
2、 接下来我们需要根据上面得到的代码兑换Access Token:
返回值:
JSON
{
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
话不多说,直接上代码:
为方便起见,我们先将get和post封装到application下的common.php中:
应用公用文件common.php:
function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码 Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
模板代码 login.html:
微博登录
点击这里进行微博登录
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 查看全部
网站调用新浪微博内容(
2018年09月22日11:26日一起登录为例)
PHP调用微博接口实现微博登录示例
更新时间:2018-09-22 11:26:11 作者:JONGTY
本文文章主要介绍PHP如何调用微博接口实现微博登录的一个例子。小编觉得还不错。现在分享给大家,给大家一个参考。跟着小编一起来看看吧
在平时的项目开发过程中,除了用这个网站账号注册登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户使用微博账号登录访问第三方网站,分享内容,同步信息。
1、首先需要将需要授权的用户引导到以下地址:
如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
2、 接下来我们需要根据上面得到的代码兑换Access Token:
返回值:
JSON
{
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
话不多说,直接上代码:
为方便起见,我们先将get和post封装到application下的common.php中:
应用公用文件common.php:
function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码 Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
模板代码 login.html:
微博登录
点击这里进行微博登录
效果图:



以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
网站调用新浪微博内容(新浪微博数据爬取研究(2016):基于Python的语言)
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-22 03:08
新浪微博数据爬取研究.doc
新浪微博数据爬取研究
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是相关研究的首要问题。文章分析了爬取新浪微博数据的方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息来模拟浏览器访问的新浪微博数据爬取程序,解决了不使用的问题新浪微博开放平台API抓取微博数据的主要问题是实现的爬虫程序编程简单,性能稳定,可以有效获取微博数据。
关键词:新浪微博;数据抓取;微博爬虫;Python
中文图书馆分类号:TP391;TP311 文件识别码:A 文章 编号:2095-1302(2016)12-00-04
0 前言
随着互联网的不断普及,人们越来越多地参与到互联网社交活动中。微博作为一种典型的互联网社交活动,发展迅速。新浪微博是中国最早、规模最大的微博社区。新浪微博数据中心发布的《2015年微博用户发展报告》指出:“截至2015年9月,微博月活跃数已达到2.22亿,同比增长33%。 2014年;日活跃用户达1亿,同比增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]
微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3、4]、网络数据挖掘[5]越来越重要,以及如何从微博中学习爬取数据兴趣成为研究人员要解决的首要问题。本文分析了微博数据的爬取方法,提出了一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论了微博反爬取机制的相关处理。
1 如何抓取微博数据
爬取微博数据通常有两种方式。一是调用新浪微博开放平台提供的微博开放接口,二是开发爬虫程序模拟微博登录,分析获取的HTML页面,提取需要的信息。
1.1 调用微博开放接口
新浪微博开放平台[6]提供二十余种接口,涵盖微博内容、评论、用户、关系等各种操作。理论上,这种方法是最直接、最方便的方式。但是,新版微博开放界面存在一定的局限性,对于小型研究团队或个人来说,不是很方便。亮点如下:
(1)微博开放接口使用Oauth2.0认证授权,如果想获取其他用户的个人信息和微博内容,必须对该用户进行授权;
(2)微博开放界面有访问频率限制,对于测试用户的每个应用,每个应用每小时只能访问150次;
(3)很多科研机构需要的数据只能通过高级接口访问,需要特殊申请和付费。
正是因为这些局限,设计和开发自己的网络爬虫程序来获取微博数据,成为了不可缺少的替代或替代方案。
1.2 开发微博爬虫程序
微博爬虫程序的设计和开发需要分析新浪微博的特点,明确爬取数据的目的和用途,选择合理的开发语言,保证微博数据的高效稳定访问。
1.2.1 新浪微博的特点
与一般的网站相比,新浪微博具有以下特点:
(1)新浪微博为登录用户,用户必须登录后才能访问微博数据;
(2)微博博文显示采用延迟加载机制,一次只显示一个微博页面的部分博文,当用户滚动到博文底部时,其他博文在当前页面上会继续加载;
(3)新浪微博有比较完善的反爬虫机制,微博服务器一旦识别到爬虫程序,就会拒绝访问。
基于新浪微博的上述特点,在设计微博爬虫时,需要有针对性地处理以上特点。
1.2.2 开发语言选择
从快速获取微博数据的角度来看,Python是开发微博爬虫的首选语言。它具有以下特点:
(1)Python 是一种解释型高级语言,具有文本简单、易学、开发速度快等特点;
(2)Python有更丰富的库和第三方库,比其他语言开发爬虫更方便。考虑到新浪微博一段时间后会对其数据格式进行微调,所以使用Python开发微博爬虫程序具有更高的易维护性。
2 微博爬虫的实现
2.1 微博爬虫的框架结构
本文讨论的微博爬虫程序包括五个功能模块:爬虫调度器、URL管理器、页面加载器、HTML解析器和数据导出器。其框架结构如图1所示。
图1 微博爬虫框架结构
2.1.1个爬虫调度器
爬虫调度器是爬虫的控制程序,主要负责协调调度微博爬虫的各个模块。其核心功能包括:
(1)实现爬取微博数据的过程;
(2) 控制其他模块的执行;
(3)模拟浏览器登录,在页面请求中添加Headers信息;
(4)控制微博访问频率,避免被反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取所需数据。URL 管理器需要维护一个已爬取的 URL 列表和一个等待被爬取的 URL 列表。获取到新网址后,首先查看已爬取的网址列表。如果该网址不在列表中,则将其添加到等待抓取的网址列表中。
2.1.3 页面加载器
页 查看全部
网站调用新浪微博内容(新浪微博数据爬取研究(2016):基于Python的语言)
新浪微博数据爬取研究.doc
新浪微博数据爬取研究
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是相关研究的首要问题。文章分析了爬取新浪微博数据的方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息来模拟浏览器访问的新浪微博数据爬取程序,解决了不使用的问题新浪微博开放平台API抓取微博数据的主要问题是实现的爬虫程序编程简单,性能稳定,可以有效获取微博数据。
关键词:新浪微博;数据抓取;微博爬虫;Python
中文图书馆分类号:TP391;TP311 文件识别码:A 文章 编号:2095-1302(2016)12-00-04
0 前言
随着互联网的不断普及,人们越来越多地参与到互联网社交活动中。微博作为一种典型的互联网社交活动,发展迅速。新浪微博是中国最早、规模最大的微博社区。新浪微博数据中心发布的《2015年微博用户发展报告》指出:“截至2015年9月,微博月活跃数已达到2.22亿,同比增长33%。 2014年;日活跃用户达1亿,同比增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]
微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3、4]、网络数据挖掘[5]越来越重要,以及如何从微博中学习爬取数据兴趣成为研究人员要解决的首要问题。本文分析了微博数据的爬取方法,提出了一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论了微博反爬取机制的相关处理。
1 如何抓取微博数据
爬取微博数据通常有两种方式。一是调用新浪微博开放平台提供的微博开放接口,二是开发爬虫程序模拟微博登录,分析获取的HTML页面,提取需要的信息。
1.1 调用微博开放接口
新浪微博开放平台[6]提供二十余种接口,涵盖微博内容、评论、用户、关系等各种操作。理论上,这种方法是最直接、最方便的方式。但是,新版微博开放界面存在一定的局限性,对于小型研究团队或个人来说,不是很方便。亮点如下:
(1)微博开放接口使用Oauth2.0认证授权,如果想获取其他用户的个人信息和微博内容,必须对该用户进行授权;
(2)微博开放界面有访问频率限制,对于测试用户的每个应用,每个应用每小时只能访问150次;
(3)很多科研机构需要的数据只能通过高级接口访问,需要特殊申请和付费。
正是因为这些局限,设计和开发自己的网络爬虫程序来获取微博数据,成为了不可缺少的替代或替代方案。
1.2 开发微博爬虫程序
微博爬虫程序的设计和开发需要分析新浪微博的特点,明确爬取数据的目的和用途,选择合理的开发语言,保证微博数据的高效稳定访问。
1.2.1 新浪微博的特点
与一般的网站相比,新浪微博具有以下特点:
(1)新浪微博为登录用户,用户必须登录后才能访问微博数据;
(2)微博博文显示采用延迟加载机制,一次只显示一个微博页面的部分博文,当用户滚动到博文底部时,其他博文在当前页面上会继续加载;
(3)新浪微博有比较完善的反爬虫机制,微博服务器一旦识别到爬虫程序,就会拒绝访问。
基于新浪微博的上述特点,在设计微博爬虫时,需要有针对性地处理以上特点。
1.2.2 开发语言选择
从快速获取微博数据的角度来看,Python是开发微博爬虫的首选语言。它具有以下特点:
(1)Python 是一种解释型高级语言,具有文本简单、易学、开发速度快等特点;
(2)Python有更丰富的库和第三方库,比其他语言开发爬虫更方便。考虑到新浪微博一段时间后会对其数据格式进行微调,所以使用Python开发微博爬虫程序具有更高的易维护性。
2 微博爬虫的实现
2.1 微博爬虫的框架结构
本文讨论的微博爬虫程序包括五个功能模块:爬虫调度器、URL管理器、页面加载器、HTML解析器和数据导出器。其框架结构如图1所示。
图1 微博爬虫框架结构
2.1.1个爬虫调度器
爬虫调度器是爬虫的控制程序,主要负责协调调度微博爬虫的各个模块。其核心功能包括:
(1)实现爬取微博数据的过程;
(2) 控制其他模块的执行;
(3)模拟浏览器登录,在页面请求中添加Headers信息;
(4)控制微博访问频率,避免被反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取所需数据。URL 管理器需要维护一个已爬取的 URL 列表和一个等待被爬取的 URL 列表。获取到新网址后,首先查看已爬取的网址列表。如果该网址不在列表中,则将其添加到等待抓取的网址列表中。
2.1.3 页面加载器
页
网站调用新浪微博内容(新浪微博的用户接口和话题接口实现了(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 55 次浏览 • 2021-12-10 00:34
如标题所述,调用新浪微博的用户界面和话题界面,实现对新浪微博用户和关键词相关内容的搜索:
选择搜索昵称:
返回搜索昵称结果:
选择搜索微博内容:
返回微博搜索结果:
但内容超过屏幕长度,滚动条向下显示剩余内容:
使用的插件有:kendoUI.js,用于操作UI,给界面切换添加特效幻灯片。 jscex.js 学员异步加载数据,绑定搜索id和搜索微博按钮2个响应函数。还是用jQuery的ajax调用新浪微博加载对应的api数据。
本练习中遇到的问题并不平均。一开始就是不熟悉kendoUI造成的麻烦。在kendoUI中,所有页面内容都放在同一个页面上,但是使用data-role="view"来区分各个页面。默认第一页收录属性data-role="view" div;
接下来是api调用的跨域问题。本来打算用jsonp数据格式来解决这个问题,但是据说jscex可以解决这个问题。看了后面,发现jecex.js好像也是jsonp格式的。
看了jscex的样例,感觉好强大。但这一次只是简单地使用其定义的异步方法,$await()、$start() 来使用异步方法。以下是点击搜索昵称按钮的一系列操作的代码:
其实还有一个问题没有解决:在遍历返回的数据时,如果去掉if(index)判断语句,结果总是返回一个“undefined”。经过调试,发现underfined对应的索引其实是code,是正确的。结果对应的索引是数据。实在是没有办法,只能用这个判断了。希望以后能找到原因。 查看全部
网站调用新浪微博内容(新浪微博的用户接口和话题接口实现了(组图))
如标题所述,调用新浪微博的用户界面和话题界面,实现对新浪微博用户和关键词相关内容的搜索:
选择搜索昵称:
返回搜索昵称结果:
选择搜索微博内容:
返回微博搜索结果:
但内容超过屏幕长度,滚动条向下显示剩余内容:
使用的插件有:kendoUI.js,用于操作UI,给界面切换添加特效幻灯片。 jscex.js 学员异步加载数据,绑定搜索id和搜索微博按钮2个响应函数。还是用jQuery的ajax调用新浪微博加载对应的api数据。
本练习中遇到的问题并不平均。一开始就是不熟悉kendoUI造成的麻烦。在kendoUI中,所有页面内容都放在同一个页面上,但是使用data-role="view"来区分各个页面。默认第一页收录属性data-role="view" div;
接下来是api调用的跨域问题。本来打算用jsonp数据格式来解决这个问题,但是据说jscex可以解决这个问题。看了后面,发现jecex.js好像也是jsonp格式的。
看了jscex的样例,感觉好强大。但这一次只是简单地使用其定义的异步方法,$await()、$start() 来使用异步方法。以下是点击搜索昵称按钮的一系列操作的代码:
其实还有一个问题没有解决:在遍历返回的数据时,如果去掉if(index)判断语句,结果总是返回一个“undefined”。经过调试,发现underfined对应的索引其实是code,是正确的。结果对应的索引是数据。实在是没有办法,只能用这个判断了。希望以后能找到原因。
网站调用新浪微博内容(PHP下通过API实现与新浪微博同步应用测试好多次)
网站优化 • 优采云 发表了文章 • 0 个评论 • 52 次浏览 • 2021-12-08 03:14
(转)PHP下通过API与新浪微博同步
今天下午拿到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APPKEY和APPSECRET,复制并保存。
然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
在这里你会发现出错了: Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就不管了,点击下面的链接,然后又报错:对不起,那个页面没有存在!
说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此,我们不难想到流程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后必须验证APPKEY是否合法,并询问我们是否授权该应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写一条微博,最后点击发布,从官方新浪微博登录,可以看到文章您刚刚发送的消息,下面应该标有“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接后面的/callback.php是好的。
这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。 查看全部
网站调用新浪微博内容(PHP下通过API实现与新浪微博同步应用测试好多次)
(转)PHP下通过API与新浪微博同步
今天下午拿到了一个新浪微博同步申请。我测试了很多次,终于成功了。说一下我的配置过程。欢迎大家访问我的新浪微博!
首先,你必须有一个新浪微博账号。如果您没有,请注册一个,然后成为开发人员。您可以点击微博或者直接输入网址:,选择我是开发者,然后选择创建应用,输入并填写开发用户信息,成功后,获取您的APPKEY和APPSECRET,复制并保存。
然后去下载SDK文档,选择PHP语言,查看“通过OAuth验证”。这是我用的。点击下方链接下载并在本地解压。
第三步,开始测试。将解压后的文件中的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。如果不会,可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开它后,您将知道该怎么做。在其中写入您的 APPKEY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,就不会啰嗦了。
在这里你会发现出错了: Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,就不管了,点击下面的链接,然后又报错:对不起,那个页面没有存在!
说到这里,估计很多人都会放弃,顿时不知如何是好。其实,不要把新浪微博的应用开发想的那么深,大多数人都能理解。仔细看看 index.php。你刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此,我们不难想到流程:首先获取本地配置文件config.php中的APPKEY和APPSECRET,然后必须验证APPKEY是否合法,并询问我们是否授权该应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写一条微博,最后点击发布,从官方新浪微博登录,可以看到文章您刚刚发送的消息,下面应该标有“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接后面的/callback.php是好的。
这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 50 次浏览 • 2021-12-07 15:03
这几天为了发表论文,需要采集新浪微博的用户关系信息,形成复杂网络的结构图。好在微博提供了API供我们调用。折腾了一天,终于有点收获了。总结如下:
1.下载SDK
如果使用python调用API,必须先去下一个Python SDK,sinaweibopy
连接地址在这里:
可以用pip快速导入,github连接中的wiki也有入门方法,简单易懂。
2.了解新浪微博的授权机制
在调用API之前,我们首先要了解OAuth 2是什么,也就是新浪微博的授权机制。
在这里连接:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注册应用
每个人都可以通过新浪微博开发者平台注册自己的应用程序。我在网站上注册了应用程序。注册后,每个应用程序都会被分配一个唯一的app key和app secret,这在上面提到的授权机制中是需要的,相当于每个应用程序的标识。
至此,我们可以尝试编写代码来调用新浪微博的API。
4.简单调用API实例
参考了上面很多资料和文档,写了一个简单的调用流程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = ''
APP_SECRET = ''
CALLBACK_URL = ''
#这个是设置回调地址,必须与那个”高级信息“里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 获取URL参数code:
code = '2fc0b2f5d2985db832fa01fee6bd9316'
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/U ... %25B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通过上面的代码,我实现了调用相互关注API的调用,即找到一个特定id的用户互相关注的人的列表。
其中,APP_KEY 和 APP_SECRET 是上一篇文章中分配给每个应用程序的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,随便设置即可。
更恶心的是代码获取。当我阅读 sinaweibopy 文档时,我不明白这是什么意思。如上代码所示,获取到的URL为授权URL。我们通过了
webbrowser.open_new(url)
这行代码打开浏览器,跳转到授权界面,然后观察它所在界面的URL。它将显示类似于以下的格式:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有个code=……的东西,就复制等号后面的字符串,赋值给code,但是每次程序运行的时候,code都不是静态的,也就是说必须有每次都是这样的手册,每次拿到过程都觉得很麻烦,所以以后自己研究一下,实现代码自动获取。如果哪位大神能告诉我,感激不尽~
好了,拿到正确的code后,就可以完成授权认证了,就可以调用微博的API了。至于如何在Python下调用,我复制sinaweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source: string,OAuth授权方式不需要此参数,其他授权方式为必填参数,值为AppKey? 的应用程序。
access_token: string,OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获取。
uid: int64,要查询的用户ID。
screen_name:字符串,待查询用户的昵称。
(其他可选参数省略)
调用方式:将API的“/”改为“.”,根据请求格式是GET还是POST,调用get()或post(),传入关键字参数,但不包括source和access_token参数:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
如果是POST调用,示例代码如下:
r = client.statuses.update.post(status=u'测试OAuth 2.0发微博')
如果需要上传文件,传入file-like object参数,示例代码如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博', pic=f)
f.close() # APIClient不会自动关闭文件,需要手动关闭
请注意:上传的文件必须是类文件对象,而不是str,因为无法区分str是文件还是字段。一个 str 可以通过 StringIO 打包成类文件对象。
转载于: 查看全部
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
这几天为了发表论文,需要采集新浪微博的用户关系信息,形成复杂网络的结构图。好在微博提供了API供我们调用。折腾了一天,终于有点收获了。总结如下:
1.下载SDK
如果使用python调用API,必须先去下一个Python SDK,sinaweibopy
连接地址在这里:
可以用pip快速导入,github连接中的wiki也有入门方法,简单易懂。
2.了解新浪微博的授权机制
在调用API之前,我们首先要了解OAuth 2是什么,也就是新浪微博的授权机制。
在这里连接:%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注册应用
每个人都可以通过新浪微博开发者平台注册自己的应用程序。我在网站上注册了应用程序。注册后,每个应用程序都会被分配一个唯一的app key和app secret,这在上面提到的授权机制中是需要的,相当于每个应用程序的标识。
至此,我们可以尝试编写代码来调用新浪微博的API。
4.简单调用API实例
参考了上面很多资料和文档,写了一个简单的调用流程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = ''
APP_SECRET = ''
CALLBACK_URL = ''
#这个是设置回调地址,必须与那个”高级信息“里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 获取URL参数code:
code = '2fc0b2f5d2985db832fa01fee6bd9316'
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in # token过期的UNIX时间:http://zh.wikipedia.org/wiki/U ... %25B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通过上面的代码,我实现了调用相互关注API的调用,即找到一个特定id的用户互相关注的人的列表。
其中,APP_KEY 和 APP_SECRET 是上一篇文章中分配给每个应用程序的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,随便设置即可。
更恶心的是代码获取。当我阅读 sinaweibopy 文档时,我不明白这是什么意思。如上代码所示,获取到的URL为授权URL。我们通过了
webbrowser.open_new(url)
这行代码打开浏览器,跳转到授权界面,然后观察它所在界面的URL。它将显示类似于以下的格式:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有个code=……的东西,就复制等号后面的字符串,赋值给code,但是每次程序运行的时候,code都不是静态的,也就是说必须有每次都是这样的手册,每次拿到过程都觉得很麻烦,所以以后自己研究一下,实现代码自动获取。如果哪位大神能告诉我,感激不尽~
好了,拿到正确的code后,就可以完成授权认证了,就可以调用微博的API了。至于如何在Python下调用,我复制sinaweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source: string,OAuth授权方式不需要此参数,其他授权方式为必填参数,值为AppKey? 的应用程序。
access_token: string,OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获取。
uid: int64,要查询的用户ID。
screen_name:字符串,待查询用户的昵称。
(其他可选参数省略)
调用方式:将API的“/”改为“.”,根据请求格式是GET还是POST,调用get()或post(),传入关键字参数,但不包括source和access_token参数:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
如果是POST调用,示例代码如下:
r = client.statuses.update.post(status=u'测试OAuth 2.0发微博')
如果需要上传文件,传入file-like object参数,示例代码如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'测试OAuth 2.0带图片发微博', pic=f)
f.close() # APIClient不会自动关闭文件,需要手动关闭
请注意:上传的文件必须是类文件对象,而不是str,因为无法区分str是文件还是字段。一个 str 可以通过 StringIO 打包成类文件对象。
转载于:
网站调用新浪微博内容(网站调用新浪微博内容是服务端解析新浪新闻上网站)
网站优化 • 优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2021-12-07 09:00
网站调用新浪微博内容是服务端解析新浪新闻上网站上是自己更新
博客原理简单来说,是用云加速,先绑定域名,然后从服务器拉取源站内容,
原理大概是你建站时用一个api,通过这个api接口你获取到对方服务器的内容。不可能为你给你读取新浪的内容。因为那样不安全。也不可能在你建站的时候用一个接口告诉你让你读取新浪的内容。因为那样会影响其他业务。还有就是你说的让你读取内容服务端会服务哪些内容,这个大概要看api。不同的api有不同的api接口。
首先你的app是什么类型,如果是应用软件,要开发客户端;要求数据真实有效性,那么你可以申请新浪博客内容服务,申请通过后,你可以直接获取服务端大量内容;自己通过send微博,发微博给对方看;互动信息如图上一种说法。
通过新浪的一个cdn,知道新浪博客对方的url,然后判断对方最终的数据,不可能让你读新浪内容,
有人是打新浪的电话卖给你的。
目前来看,做一个代替新浪微博的app还是有必要的。目前做的比较好的有趣看博客,不过没有看到有订阅博客类型的应用。是和idc合作的,也很安全。
用imworker做服务器集群,im与微博每条都相同, 查看全部
网站调用新浪微博内容(网站调用新浪微博内容是服务端解析新浪新闻上网站)
网站调用新浪微博内容是服务端解析新浪新闻上网站上是自己更新
博客原理简单来说,是用云加速,先绑定域名,然后从服务器拉取源站内容,
原理大概是你建站时用一个api,通过这个api接口你获取到对方服务器的内容。不可能为你给你读取新浪的内容。因为那样不安全。也不可能在你建站的时候用一个接口告诉你让你读取新浪的内容。因为那样会影响其他业务。还有就是你说的让你读取内容服务端会服务哪些内容,这个大概要看api。不同的api有不同的api接口。
首先你的app是什么类型,如果是应用软件,要开发客户端;要求数据真实有效性,那么你可以申请新浪博客内容服务,申请通过后,你可以直接获取服务端大量内容;自己通过send微博,发微博给对方看;互动信息如图上一种说法。
通过新浪的一个cdn,知道新浪博客对方的url,然后判断对方最终的数据,不可能让你读新浪内容,
有人是打新浪的电话卖给你的。
目前来看,做一个代替新浪微博的app还是有必要的。目前做的比较好的有趣看博客,不过没有看到有订阅博客类型的应用。是和idc合作的,也很安全。
用imworker做服务器集群,im与微博每条都相同,
网站调用新浪微博内容(新浪开的店铺均除外怎么办?每一步该如何操作 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 57 次浏览 • 2021-12-05 18:00
)
申请先决条件:你必须有一个,一个独立的网站;除了新浪开设的官方博客和天猫开设的商店。
申请有四种申请方式:①开发者身份认证②网站所有权验证③部署微链接④填写申请信息(提交审核),让我们详细了解每一步的操作方法!
第一步,登录新浪微博开放平台,点击下方图标,开始创建网站接入应用;
如果您尚未完成开发者身份验证,系统会引导您进入身份验证页面;
身份认证通过并不意味着您拥有自己的应用程序;身份认证通过后才能创建应用;
关于开发者类型,请根据实际情况填写;个人或企业不会影响您创建网站访问应用程序;如果选择企业,未来可以创造更多的应用类型;
身份验证周期为1-2个工作日,请关注系统通知;
第二步:验证网站的所有权,我们来学习一下如何填写;
网站姓名,即你要在微博上显示的“发件人”的名字,需要和你的网站相关联;
申请提交审核时可修改两次名称;
如果提示“网站名称已存在,请更改一个”,表示该名称已被占用,必须更改;
网站域名与您在微博点击“来自”时访问的页面相关,但不是绝对的;
比如这里填写,当申请提交审核时,可以设置点击“发件人”访问
选择验证方式,即新浪确认网站是否属于您。
微博平台提供两种验证方式。请把这一步留给网站技术(运维);因为涉及到修改你的网站官方源码,一般来说网站技术(运维)有相应的权限;
如何确认网站技术(运维)同学添加了验证码?访问你上一步填写的“网站域名”的网页,点击鼠标右键“查看网页源代码”,先找到head标签,再进一步搜索...(如果这个输入说话,本教程无法继续)
完成以上表格后,点击“验证并添加”进入以下页面;(当开发者身份认证为“企业”时,会略有不同)
注意,此时不要关闭页面;虽然我们成功获取了AppKey和AppSecret,但并不代表申请成功;在新窗口中打开“微组件”,我们将进入下一步;
第三步:部署微组件;如果没有部署微博组件,应用是不会通过审核的,切记;
选择你需要的功能(组件)部署网站。申请通过审核后,即可移除该组件;
例如,我们选择“关注按钮”...
查看全部
网站调用新浪微博内容(新浪开的店铺均除外怎么办?每一步该如何操作
)
申请先决条件:你必须有一个,一个独立的网站;除了新浪开设的官方博客和天猫开设的商店。
申请有四种申请方式:①开发者身份认证②网站所有权验证③部署微链接④填写申请信息(提交审核),让我们详细了解每一步的操作方法!
第一步,登录新浪微博开放平台,点击下方图标,开始创建网站接入应用;

如果您尚未完成开发者身份验证,系统会引导您进入身份验证页面;

身份认证通过并不意味着您拥有自己的应用程序;身份认证通过后才能创建应用;
关于开发者类型,请根据实际情况填写;个人或企业不会影响您创建网站访问应用程序;如果选择企业,未来可以创造更多的应用类型;
身份验证周期为1-2个工作日,请关注系统通知;
第二步:验证网站的所有权,我们来学习一下如何填写;

网站姓名,即你要在微博上显示的“发件人”的名字,需要和你的网站相关联;
申请提交审核时可修改两次名称;
如果提示“网站名称已存在,请更改一个”,表示该名称已被占用,必须更改;
网站域名与您在微博点击“来自”时访问的页面相关,但不是绝对的;
比如这里填写,当申请提交审核时,可以设置点击“发件人”访问
选择验证方式,即新浪确认网站是否属于您。
微博平台提供两种验证方式。请把这一步留给网站技术(运维);因为涉及到修改你的网站官方源码,一般来说网站技术(运维)有相应的权限;
如何确认网站技术(运维)同学添加了验证码?访问你上一步填写的“网站域名”的网页,点击鼠标右键“查看网页源代码”,先找到head标签,再进一步搜索...(如果这个输入说话,本教程无法继续)
完成以上表格后,点击“验证并添加”进入以下页面;(当开发者身份认证为“企业”时,会略有不同)

注意,此时不要关闭页面;虽然我们成功获取了AppKey和AppSecret,但并不代表申请成功;在新窗口中打开“微组件”,我们将进入下一步;
第三步:部署微组件;如果没有部署微博组件,应用是不会通过审核的,切记;

选择你需要的功能(组件)部署网站。申请通过审核后,即可移除该组件;
例如,我们选择“关注按钮”...

网站调用新浪微博内容(如何使用新浪微博的手机网页版获取cookie:抓取登录微博)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-12-04 16:10
爬行方法:
在浏览一个人的微博内容时,我们通常需要登录微博。在微博登录方面,我们使用了一个简单的方法:抓取登录微博的cookie,然后使用cookie登录微博。这样,您就可以浏览某人的微博内容。
为了方便抓取,我们使用新浪微博手机网页版
获取饼干:
① 我们使用的抓包工具是Fiddler。安装好 Fiddler 后,我们来设置 Winconfig 并勾选 IE 项:
然后 SaveChange 就可以了。
②先登录进入微博。(部分手机网页版可能无法登录,一直显示验证码错误,此时可以打开新浪微博电脑网页版登录)。
③打开Fiddler,然后用IE浏览器打开,发现是直接登录的。这是因为cookie。这时候我们使用Fiddler来查找cookie的内容
首先在 Fddler 的左栏中找到该项目并双击它。
然后使用右侧的composer查看一些信息。
cookie 信息正是我们所需要的。我们复制“_T_W...”。
使用python抓包
这里就直接上代码看。
——
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import time
cook = {"Cookie":" _T_WM....."} #放入你的cookie信息。
for i in range(1,20):
#爬取"头条新闻"的前二十页微博
url = "http://weibo.cn/breakingnews?page=%d"%(i)
html = requests.get(url,cookies=cook).content
#使用Beautiful来解析网页内容。
soup =BeautifulSoup(html,"html.parser")
r = soup.findAll('span',attrs={"class" : "ctt"})
for e in r:
print(e.text)
#设置时间间隔
time.sleep(3)
——
这样我们就可以爬到头条新闻的微博内容了,当然这里我只爬取了文本信息。
项目地址:github 查看全部
网站调用新浪微博内容(如何使用新浪微博的手机网页版获取cookie:抓取登录微博)
爬行方法:
在浏览一个人的微博内容时,我们通常需要登录微博。在微博登录方面,我们使用了一个简单的方法:抓取登录微博的cookie,然后使用cookie登录微博。这样,您就可以浏览某人的微博内容。
为了方便抓取,我们使用新浪微博手机网页版
获取饼干:
① 我们使用的抓包工具是Fiddler。安装好 Fiddler 后,我们来设置 Winconfig 并勾选 IE 项:
然后 SaveChange 就可以了。
②先登录进入微博。(部分手机网页版可能无法登录,一直显示验证码错误,此时可以打开新浪微博电脑网页版登录)。
③打开Fiddler,然后用IE浏览器打开,发现是直接登录的。这是因为cookie。这时候我们使用Fiddler来查找cookie的内容
首先在 Fddler 的左栏中找到该项目并双击它。
然后使用右侧的composer查看一些信息。
cookie 信息正是我们所需要的。我们复制“_T_W...”。
使用python抓包
这里就直接上代码看。
——
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import time
cook = {"Cookie":" _T_WM....."} #放入你的cookie信息。
for i in range(1,20):
#爬取"头条新闻"的前二十页微博
url = "http://weibo.cn/breakingnews?page=%d"%(i)
html = requests.get(url,cookies=cook).content
#使用Beautiful来解析网页内容。
soup =BeautifulSoup(html,"html.parser")
r = soup.findAll('span',attrs={"class" : "ctt"})
for e in r:
print(e.text)
#设置时间间隔
time.sleep(3)
——
这样我们就可以爬到头条新闻的微博内容了,当然这里我只爬取了文本信息。
项目地址:github
网站调用新浪微博内容(新浪微博API调研表支持语言Java、PHP、NET等多种编程语言)
网站优化 • 优采云 发表了文章 • 0 个评论 • 45 次浏览 • 2021-12-04 16:08
statuses/home_timeline) 获取当前登录用户 获取已发微博消息列表 获取当前用户发送和接收的评论列表 获取当前用户发送和接收的评论列表 获取当前用户收到的评论user 获取当前用户收到的评论 根据微博消息ID返回某条微博消息的评论 批量列出一组微博的评论和转发数量 返回原创的最新n条转发微博信息@> 微博 新!返回用户最新n条转发微博信息 新增!获取当前用户的未读消息未读消息数量重置界面表情界面,获取表情列表 微博访问界面 根据ID获取单个微博消息内容 根据微博ID和用户ID跳转到单个微博页面 发布微博消息 更新!上传图片发微博 删除微博 转发微博 更新了!评论一条微博消息已更新!删除当前用户的微博评论信息 批量删除当前用户的微博评论信息 回复微博评论信息 已更新!用户界面根据用户ID(授权用户)获取用户信息,获取用户关注列表和每个关注用户的最新微博,获取用户的粉丝列表和每个粉丝用户的最新微博,获取系统推荐用户更新当前登录用户关注的朋友评论 新!返回给当前用户 Beta 可能感兴趣的用户!私信接口 私信接口只对授权合作应用开放 获取当前用户的最新私信列表 获取当前用户最新发送的私信列表 发送私信 批量删除私信 删除私信 关注界面user Unfollow 是否关注某个用户(推荐好友/秀) 获取两个用户的详细关系 话题界面 获取某人的话题 获取某个话题下的微博 关注某个话题 Unfollow 某个话题通过小时回到当天的热门话题。
回归本周热点话题。Social Graph接口获取用户关注对象的uid列表。获取用户粉丝的uid列表。隐私设置界面设置隐私信息。获取隐私信息。黑名单界面将用户加入黑名单和从黑名单中移除用户。列出用户(输出用户详细信息) 列出分页黑名单用户(只输出id) 用户标签接口返回指定用户的标签列表 添加用户标签 返回用户感兴趣的标签 删除标签 批量删除标签 账户界面验证是否当前用户身份合法获取当前用户API访问频率限制当前用户注销更改头像更改个人资料采集界面获取当前用户 s 采集列表 添加采集 删除当前用户采集的微博信息 批量删除采集的微博信息 Login/OAuth接口 OAuth授权方法介绍 Get not Authorized Request Token 请求用户授权Token获取授权Access Token 微博搜索API(Search API) :搜索界面只对授权的合作应用开放。用户可以搜索和搜索微博用户(仅对新浪合作开发者开放)。更新!@某人,实时获取用户名建议。它还可以用于关注者/粉丝搜索。(对所有开发者开放)新!微博搜索 搜索微博文章(仅对新浪合作开发者开放) 搜索微博(多条件组合)(仅对合作开发者开放) 微博地理位置信息界面:
根据用户维度和IP维度限制对服务器IP的请求次数。正常授权:10000次/小时;中级授权:20000次/小时;高级授权:30000次/小时;合作授权:4万次/小时。用户正在使用应用程序 一般授权:总限制:单个用户每个应用程序每小时 150 次。微博:单个用户每个应用程序 30 次/小时。评论:单个用户每个应用60次/小时:每个应用私人消息:单个用户每个应用60次/小时加关注:单个用户每个应用60次/小时200次/天中级授权:总量限制:单个用户每应用300次/小时微博:单用户每应用60次/小时评论:
用户点击权限后,第三方网站可以获取当前用户信息,通过调用接口发布和分享内容。3.用户用微博账号登录后,如果用户没有账号,可以直接用自己的微博账号登录。如果已经有账号,可以让用户选择绑定已有账号。4.网站可以将用户在网站上发布的内容直接通过绑定发送到微博用户设置的信息。网站可以分享你想分享的内容在页面关键位置添加分享链接微博展示功能微博展示未审核,代码嵌入功能效果□运营收益□意见建议□用户注册□网站 访问□用户活动□内容传播□购买转化率√个人/品牌形象□粉丝互动功能说明可以放置在博客、网站或其他支持html代码的位置,展示您的微博和粉丝,以便让更多人关注微博名片功能 微博 博卡审核与否,代码嵌入功能效果□运营收益□意见建议□用户注册□网站访问□用户活动□内容传播□购买转化率√个人/品牌形象√粉丝互动功能描述微博卡可以帮助网站将内容中的@符号与微博上的人联系起来。在一段纯文本中,识别@username 并添加用户的名片功能。当鼠标移动到“@username”时,将出现一个显示用户信息的图层。转发功能转发未审核,代码嵌入功能效果□运营收入□意见建议√用户注册√网站访问量√用户活跃度√内容传播√购买转化率□个人/品牌形象□粉丝互动功能描述嵌入微博转发按钮进入网站,网站的访问者可以点击按钮将网页上的相应信息转发到新浪微博,分享给他们的粉丝,并添加网站访问交通。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核, 查看全部
网站调用新浪微博内容(新浪微博API调研表支持语言Java、PHP、NET等多种编程语言)
statuses/home_timeline) 获取当前登录用户 获取已发微博消息列表 获取当前用户发送和接收的评论列表 获取当前用户发送和接收的评论列表 获取当前用户收到的评论user 获取当前用户收到的评论 根据微博消息ID返回某条微博消息的评论 批量列出一组微博的评论和转发数量 返回原创的最新n条转发微博信息@> 微博 新!返回用户最新n条转发微博信息 新增!获取当前用户的未读消息未读消息数量重置界面表情界面,获取表情列表 微博访问界面 根据ID获取单个微博消息内容 根据微博ID和用户ID跳转到单个微博页面 发布微博消息 更新!上传图片发微博 删除微博 转发微博 更新了!评论一条微博消息已更新!删除当前用户的微博评论信息 批量删除当前用户的微博评论信息 回复微博评论信息 已更新!用户界面根据用户ID(授权用户)获取用户信息,获取用户关注列表和每个关注用户的最新微博,获取用户的粉丝列表和每个粉丝用户的最新微博,获取系统推荐用户更新当前登录用户关注的朋友评论 新!返回给当前用户 Beta 可能感兴趣的用户!私信接口 私信接口只对授权合作应用开放 获取当前用户的最新私信列表 获取当前用户最新发送的私信列表 发送私信 批量删除私信 删除私信 关注界面user Unfollow 是否关注某个用户(推荐好友/秀) 获取两个用户的详细关系 话题界面 获取某人的话题 获取某个话题下的微博 关注某个话题 Unfollow 某个话题通过小时回到当天的热门话题。
回归本周热点话题。Social Graph接口获取用户关注对象的uid列表。获取用户粉丝的uid列表。隐私设置界面设置隐私信息。获取隐私信息。黑名单界面将用户加入黑名单和从黑名单中移除用户。列出用户(输出用户详细信息) 列出分页黑名单用户(只输出id) 用户标签接口返回指定用户的标签列表 添加用户标签 返回用户感兴趣的标签 删除标签 批量删除标签 账户界面验证是否当前用户身份合法获取当前用户API访问频率限制当前用户注销更改头像更改个人资料采集界面获取当前用户 s 采集列表 添加采集 删除当前用户采集的微博信息 批量删除采集的微博信息 Login/OAuth接口 OAuth授权方法介绍 Get not Authorized Request Token 请求用户授权Token获取授权Access Token 微博搜索API(Search API) :搜索界面只对授权的合作应用开放。用户可以搜索和搜索微博用户(仅对新浪合作开发者开放)。更新!@某人,实时获取用户名建议。它还可以用于关注者/粉丝搜索。(对所有开发者开放)新!微博搜索 搜索微博文章(仅对新浪合作开发者开放) 搜索微博(多条件组合)(仅对合作开发者开放) 微博地理位置信息界面:
根据用户维度和IP维度限制对服务器IP的请求次数。正常授权:10000次/小时;中级授权:20000次/小时;高级授权:30000次/小时;合作授权:4万次/小时。用户正在使用应用程序 一般授权:总限制:单个用户每个应用程序每小时 150 次。微博:单个用户每个应用程序 30 次/小时。评论:单个用户每个应用60次/小时:每个应用私人消息:单个用户每个应用60次/小时加关注:单个用户每个应用60次/小时200次/天中级授权:总量限制:单个用户每应用300次/小时微博:单用户每应用60次/小时评论:
用户点击权限后,第三方网站可以获取当前用户信息,通过调用接口发布和分享内容。3.用户用微博账号登录后,如果用户没有账号,可以直接用自己的微博账号登录。如果已经有账号,可以让用户选择绑定已有账号。4.网站可以将用户在网站上发布的内容直接通过绑定发送到微博用户设置的信息。网站可以分享你想分享的内容在页面关键位置添加分享链接微博展示功能微博展示未审核,代码嵌入功能效果□运营收益□意见建议□用户注册□网站 访问□用户活动□内容传播□购买转化率√个人/品牌形象□粉丝互动功能说明可以放置在博客、网站或其他支持html代码的位置,展示您的微博和粉丝,以便让更多人关注微博名片功能 微博 博卡审核与否,代码嵌入功能效果□运营收益□意见建议□用户注册□网站访问□用户活动□内容传播□购买转化率√个人/品牌形象√粉丝互动功能描述微博卡可以帮助网站将内容中的@符号与微博上的人联系起来。在一段纯文本中,识别@username 并添加用户的名片功能。当鼠标移动到“@username”时,将出现一个显示用户信息的图层。转发功能转发未审核,代码嵌入功能效果□运营收入□意见建议√用户注册√网站访问量√用户活跃度√内容传播√购买转化率□个人/品牌形象□粉丝互动功能描述嵌入微博转发按钮进入网站,网站的访问者可以点击按钮将网页上的相应信息转发到新浪微博,分享给他们的粉丝,并添加网站访问交通。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,访问量 √ 用户活跃度 √ 内容传播 √ 购买转化率 □个人/品牌形象 □粉丝互动功能说明 将微博转发按钮嵌入网站,网站的访问者可以点击按钮转发相应信息在网页上到新浪微博,与他们的粉丝分享,并添加网站访问流量。签名文件功能 签名文件是否经过审核,
网站调用新浪微博内容(腾讯的文档写的很详细接入方法懂)
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2021-12-04 16:05
腾讯的文档很详细,很容易实现第三方访问
感觉新浪的文档不是很懂。可能是我水平有问题
使用JS的快速访问方法如下
1.先申请App Key、App Secret并绑定域名到新浪申请
2.在微博组件页面,可以选择快速放置需要的微博组件
(1)示例选择放置微博登录组件,
在标签中放置以下JS语句
在需要放置微博登录的地方放置以下语句,
标签下写如下JS语句,注意这里的ID要和上面的ID一致
WB2.anyWhere(function(W){
W.widget.connectButton({
id: "wb_connect_btn",
type:"3,2",
callback : {
login:function(o){ //登录后的回调函数
},
logout:function(){ //退出后的回调函数
}
}
});
很简单,我们已经完成了登录微博的任务,但是我们的目的是调用api获取我们想要的数据,所以一个简单的API调用例子
1. 用户登录时,我们获取授权用户的uid,通过uid获取用户的信息。
if(WB2.checkLogin()){/*weibo 登录*/
//var uid;
WB2.anyWhere(function (W) {
/***获取授权用户id***/
W.parseCMD("/account/get_uid.json", function (sResult, bStatus)
{
if (!!bStatus) {
/**请求uid成功后调用以获取用户数据**/
getData(W, sResult);
//alert(sResult.uid);
}else{
alert("授权失败或错误");
}
}, {}, {
method: 'GET'
});
});
function getData(W, User)
{
W.parseCMD("/users/show.json", function(sResult, bStatus){
// alert(sResult.name);
var uid = User.uid;
// alert(nickname);
// xmlhttp.open("GET","http://localhost/CI/index.php/ ... 2Buid,true);
// xmlhttp.send();
},{
/* 传递参数 */
uid : User.uid
},{
method: 'GET'
});
};
这里调用了两次新浪api,第一次请求uid,第二次通过uid作为参数请求用户信息,并查询新浪api。
细节我就不细说了,如有错误,请多多指出。 查看全部
网站调用新浪微博内容(腾讯的文档写的很详细接入方法懂)
腾讯的文档很详细,很容易实现第三方访问
感觉新浪的文档不是很懂。可能是我水平有问题
使用JS的快速访问方法如下
1.先申请App Key、App Secret并绑定域名到新浪申请
2.在微博组件页面,可以选择快速放置需要的微博组件
(1)示例选择放置微博登录组件,
在标签中放置以下JS语句
在需要放置微博登录的地方放置以下语句,
标签下写如下JS语句,注意这里的ID要和上面的ID一致
WB2.anyWhere(function(W){
W.widget.connectButton({
id: "wb_connect_btn",
type:"3,2",
callback : {
login:function(o){ //登录后的回调函数
},
logout:function(){ //退出后的回调函数
}
}
});
很简单,我们已经完成了登录微博的任务,但是我们的目的是调用api获取我们想要的数据,所以一个简单的API调用例子
1. 用户登录时,我们获取授权用户的uid,通过uid获取用户的信息。
if(WB2.checkLogin()){/*weibo 登录*/
//var uid;
WB2.anyWhere(function (W) {
/***获取授权用户id***/
W.parseCMD("/account/get_uid.json", function (sResult, bStatus)
{
if (!!bStatus) {
/**请求uid成功后调用以获取用户数据**/
getData(W, sResult);
//alert(sResult.uid);
}else{
alert("授权失败或错误");
}
}, {}, {
method: 'GET'
});
});
function getData(W, User)
{
W.parseCMD("/users/show.json", function(sResult, bStatus){
// alert(sResult.name);
var uid = User.uid;
// alert(nickname);
// xmlhttp.open("GET","http://localhost/CI/index.php/ ... 2Buid,true);
// xmlhttp.send();
},{
/* 传递参数 */
uid : User.uid
},{
method: 'GET'
});
};
这里调用了两次新浪api,第一次请求uid,第二次通过uid作为参数请求用户信息,并查询新浪api。
细节我就不细说了,如有错误,请多多指出。
网站调用新浪微博内容(记录一下,关于如何分享到新浪微博的过程(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 36 次浏览 • 2021-12-04 03:09
记录如何分享到新浪微博的过程,
1、要将您的网站网站或应用程序分享到新浪微博,您首先需要在新浪开发者平台上申请注册为开发者。
流程链接如下,大家可以自己参考: 注册完成后,会返回一个appKey。这个appKey是唯一的身份证明,所以一定要记录下来。本文已经申请了开发者身份,不方便公开appkey。更不用说,开发者身份的申请需要审核,一般需要三天左右的时间。
2、 完成后(不需要等待审核,我们就可以写我们的代码了),下面就是调用新浪微博的服务接口发布我们自己的新闻,这里有以下字段说明,为一个String URL,比如我下面的例子:
界面如下:
然后我的链接地址如下(因为中文是编码的,所以省略了一些内容,把重点地方贴出来,因为下面的网址被我截断了,所以这里直接复制可能无法显示效果,您需要自己拥有组合网址):
title=我的朋友们,来试试我的新东西。%&url=http://:8080/youtest/wap/detai ... RCode。htm?url=http://:8080/youtest/app/getAppFile.htm¶ms=name:QQtest,fileId:3040f717a8d76277&appKey=XXXX
这里有点乱,希望大家多多包涵。先说一下这个url的参数构成(我已经标出了关键参数):
(A) 这个链接是调用新浪的服务
(B) Title:当前分享的140字内容,不可缺少的参数,内容可以为空,但参数不能少
(C) url:表示当前正在分享的页面地址,比如我当前页面或者要分享的页面的地址是:http:/p.html,然后在url中填写这个内容
(D) pic:表示分享时,有图片附上。很多分享都有图片,所以图片地址是这个,因为新浪微博需要根据图片的url自己找图片,所以这里填写外网访问获取的地址不能填写在内网。如果有服务器,你可以把它放在服务器上
(E) appKey:为当前唯一标识,该字段为申请时返回的字段 查看全部
网站调用新浪微博内容(记录一下,关于如何分享到新浪微博的过程(组图))
记录如何分享到新浪微博的过程,
1、要将您的网站网站或应用程序分享到新浪微博,您首先需要在新浪开发者平台上申请注册为开发者。
流程链接如下,大家可以自己参考: 注册完成后,会返回一个appKey。这个appKey是唯一的身份证明,所以一定要记录下来。本文已经申请了开发者身份,不方便公开appkey。更不用说,开发者身份的申请需要审核,一般需要三天左右的时间。
2、 完成后(不需要等待审核,我们就可以写我们的代码了),下面就是调用新浪微博的服务接口发布我们自己的新闻,这里有以下字段说明,为一个String URL,比如我下面的例子:
界面如下:
然后我的链接地址如下(因为中文是编码的,所以省略了一些内容,把重点地方贴出来,因为下面的网址被我截断了,所以这里直接复制可能无法显示效果,您需要自己拥有组合网址):
title=我的朋友们,来试试我的新东西。%&url=http://:8080/youtest/wap/detai ... RCode。htm?url=http://:8080/youtest/app/getAppFile.htm¶ms=name:QQtest,fileId:3040f717a8d76277&appKey=XXXX
这里有点乱,希望大家多多包涵。先说一下这个url的参数构成(我已经标出了关键参数):
(A) 这个链接是调用新浪的服务
(B) Title:当前分享的140字内容,不可缺少的参数,内容可以为空,但参数不能少
(C) url:表示当前正在分享的页面地址,比如我当前页面或者要分享的页面的地址是:http:/p.html,然后在url中填写这个内容
(D) pic:表示分享时,有图片附上。很多分享都有图片,所以图片地址是这个,因为新浪微博需要根据图片的url自己找图片,所以这里填写外网访问获取的地址不能填写在内网。如果有服务器,你可以把它放在服务器上
(E) appKey:为当前唯一标识,该字段为申请时返回的字段
网站调用新浪微博内容(Web2.0时代,新浪微博API官方的方式总是显得很麻烦)
网站优化 • 优采云 发表了文章 • 0 个评论 • 49 次浏览 • 2021-11-30 16:15
新浪微博的API官方提供了多种支持编程的调用方式。归根结底,有两个:
1.基于Oauth协议,使用Open API。(%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)
2. 使用微博JS-SDK()。
官方的方式总是显得繁琐。我们来讨论一下,我们可以使用非官方的方法在没有AppKey、认证和Ajax的情况下调用新浪微博API吗?
在Web2.0时代,短链服务非常流行。新浪的短链服务域名是,这个域名真的很短,没办法把它变短。
打开新浪微博API官方文档,短链服务描述如下:
上面列出的方法调用都是相似的。我们以第一种方法 short_url/shorten 为例。打开详细说明:
我们来分析一下这段描述:
1.是否需要登录:不需要。这个很重要。由于不需要登录,我们的“免认证”会很好用。
2. 频率限制:是的。这也很关键,也就是说如果我们按照官方的方法,调用的次数会非常有限。
3.支持格式:JSON。其实根据实验,新浪微博不仅支持JSON,还支持JSONP,只是文档没有告诉我们。这也很关键。因为有了 JSONP,就意味着可以轻松跨域。
4.网址:。事实上,这也是谎言。HTTPS肯定会影响速度。经过实验,直接把HTTPS改成HTTP还是可以的。
接下来,一一克服困难。
一、使用JQuery+JSONP跨域。
参考文件:
jquery 对 JSONP 非常友好,调用 AJAX 时只需要指定 dataType: jsonp 即可。
二是频率限制问题。
由于不需要登录,因此可以绕过频率限制问题。因为 AppKey 本身是半公开的。我们可以轻松地通过 Google Appkey 找到许多很棒的应用程序。
例如:
iPhone新浪微博客户端App Key:57867243301
iPad新浪客户端App Key:2849184197
Google.Nexus Wave 客户端应用程序密钥:1206405345
周伯通微博管家App Key:202088835
微科App Key:211160679
上面列出的AppKeys都来自于一些拥有大量用户的手机应用程序。它们的频率限制非常宽松,几乎可以理解为“不受限制”。为了解决频率限制问题,我们可以使用他们的Appkey。
另外:新浪微博API的频率限制有两个维度,服务IP维度和用户IP维度。. 这一点与本文无关,因为 Javascript 运行在客户端。但是如果要修改本文提到的方法,在服务器端使用C#或其他高级语言进行调用,则必须注意服务器IP维度。
三、一个简单的实验。
您现在可以直接在浏览器中访问此地址:
://
会在浏览器中显示
{"urls":[
{"result":true,"url_short":"http://t.cn/h5FGy","url_long":"http://www.cnblogs.com","type":0}]}
通过访问上述的地址,您已经得到了http://www.cnblogs.com的段地址:http://t.cn/h5FGy
注意我们使用的是http而非https,不需要使用https,上文已经提到了。
四、最终代码示例
最终代码的示例参考这里http://haotaoqu.com/item-45.html
这个示例将一个又臭又长的淘宝客URL地址转换为了新浪短地址。
Javascript代码如下:
五、除了short_url/shorten,其他可以通过该方法调用的API
任何标记为“是否需要登录:否”的接口都可以被本文中的流氓方法调用。打开%E6%96%87%E6%A1%A3_V2官方文档慢慢选择吧~
百度有收录
短网址
我们郑重声明:本站只销售html页面效果模板,不提供任何类型的网站内容数据。模板仅供学习交流使用,不得用于任何商业用途或违反国家法律法规的用途。违者需承担责任。全责,与本站及模板设计作者无关,本站与模板作者不承担任何连带责任!!!!
关爱邦 | 网站 源码下载_免费商业源码分享!»以短链服务为例,讨论跨域调用新浪微博API无需AppKey、鉴权、Ajax
掐 查看全部
网站调用新浪微博内容(Web2.0时代,新浪微博API官方的方式总是显得很麻烦)
新浪微博的API官方提供了多种支持编程的调用方式。归根结底,有两个:
1.基于Oauth协议,使用Open API。(%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)
2. 使用微博JS-SDK()。
官方的方式总是显得繁琐。我们来讨论一下,我们可以使用非官方的方法在没有AppKey、认证和Ajax的情况下调用新浪微博API吗?
在Web2.0时代,短链服务非常流行。新浪的短链服务域名是,这个域名真的很短,没办法把它变短。
打开新浪微博API官方文档,短链服务描述如下:

上面列出的方法调用都是相似的。我们以第一种方法 short_url/shorten 为例。打开详细说明:

我们来分析一下这段描述:
1.是否需要登录:不需要。这个很重要。由于不需要登录,我们的“免认证”会很好用。
2. 频率限制:是的。这也很关键,也就是说如果我们按照官方的方法,调用的次数会非常有限。
3.支持格式:JSON。其实根据实验,新浪微博不仅支持JSON,还支持JSONP,只是文档没有告诉我们。这也很关键。因为有了 JSONP,就意味着可以轻松跨域。
4.网址:。事实上,这也是谎言。HTTPS肯定会影响速度。经过实验,直接把HTTPS改成HTTP还是可以的。
接下来,一一克服困难。
一、使用JQuery+JSONP跨域。
参考文件:
jquery 对 JSONP 非常友好,调用 AJAX 时只需要指定 dataType: jsonp 即可。
二是频率限制问题。
由于不需要登录,因此可以绕过频率限制问题。因为 AppKey 本身是半公开的。我们可以轻松地通过 Google Appkey 找到许多很棒的应用程序。
例如:
iPhone新浪微博客户端App Key:57867243301
iPad新浪客户端App Key:2849184197
Google.Nexus Wave 客户端应用程序密钥:1206405345
周伯通微博管家App Key:202088835
微科App Key:211160679
上面列出的AppKeys都来自于一些拥有大量用户的手机应用程序。它们的频率限制非常宽松,几乎可以理解为“不受限制”。为了解决频率限制问题,我们可以使用他们的Appkey。
另外:新浪微博API的频率限制有两个维度,服务IP维度和用户IP维度。. 这一点与本文无关,因为 Javascript 运行在客户端。但是如果要修改本文提到的方法,在服务器端使用C#或其他高级语言进行调用,则必须注意服务器IP维度。
三、一个简单的实验。
您现在可以直接在浏览器中访问此地址:
://
会在浏览器中显示
{"urls":[
{"result":true,"url_short":"http://t.cn/h5FGy","url_long":"http://www.cnblogs.com","type":0}]}
通过访问上述的地址,您已经得到了http://www.cnblogs.com的段地址:http://t.cn/h5FGy
注意我们使用的是http而非https,不需要使用https,上文已经提到了。
四、最终代码示例
最终代码的示例参考这里http://haotaoqu.com/item-45.html
这个示例将一个又臭又长的淘宝客URL地址转换为了新浪短地址。
Javascript代码如下:


五、除了short_url/shorten,其他可以通过该方法调用的API
任何标记为“是否需要登录:否”的接口都可以被本文中的流氓方法调用。打开%E6%96%87%E6%A1%A3_V2官方文档慢慢选择吧~
百度有收录
短网址
我们郑重声明:本站只销售html页面效果模板,不提供任何类型的网站内容数据。模板仅供学习交流使用,不得用于任何商业用途或违反国家法律法规的用途。违者需承担责任。全责,与本站及模板设计作者无关,本站与模板作者不承担任何连带责任!!!!
关爱邦 | 网站 源码下载_免费商业源码分享!»以短链服务为例,讨论跨域调用新浪微博API无需AppKey、鉴权、Ajax

掐
网站调用新浪微博内容(Web版微博和手机客户端相继上线赞按钮之后,随时随地轻松表达态度)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-30 15:15
在网页版微博和手机客户端推出点赞按钮后,新浪微博现在有了一个可以嵌入第三方的点赞按钮网站。
据新浪微博开放平台相关页面介绍,用户可以通过点赞按钮同步表达态度、发现好友、分享内容。
随时随地轻松表达态度-----用户浏览网页,找到自己喜欢的内容。“喜欢”按钮可用于一键式表达他们的情绪。找朋友方便快捷-----“点赞”按钮也会显示表达态度的用户。如果你的微博朋友也“点赞”了,那么你会看到她/他的内容被同步分享了-----点击按钮后,用户会在微博中同步一条收录对象内容的动态消息,继续通过微博传播
网站 开发人员现在可以将此按钮嵌入到他们自己的 网站 中。
Like按钮最早出现在FriendFeed(Twitter的竞争对手,后来被Facebook收购)网站,然后被Facebook发扬光大,现在充斥着世界各个角落(中国除外)。我写了一篇36氪文章的文章,解释了赞按钮的强大:
带有“赞”按钮网站 的媒体将其推荐流量平均增加了 300%。
Levi's 于 2010 年 4 月添加了 Like 按钮,此后流量增长了 40 倍并保持稳定。
添加“赞”按钮后,收入在 2 周内增长了 100%。
添加赞按钮后,Tea 采集 的每日收入翻了 10 倍。
但是,要达到这个效果,微博需要支持将用户喜欢的内容同步到时间线(目前只显示在自己的个人资料页面)。上次与新浪微博开放平台总经理楚大臣交流时,他透露未来会加入这个功能,但他们还在探索内容的呈现方式。Timeline中出现的点赞内容非常有利于流量,但处理不当会对用户造成干扰。
(个人资料页面点赞按钮的显示效果)
除了新浪微博,QQ空间和人人网也早就推出了自己的点赞按钮。据说腾讯微博很早就在规划这个功能。
对于微博来说,点赞按钮可以让他们采集大量的用户数据,这对于未来无论是用于投放精准广告还是对内容进行个性化推荐都将是非常有价值的。 查看全部
网站调用新浪微博内容(Web版微博和手机客户端相继上线赞按钮之后,随时随地轻松表达态度)
在网页版微博和手机客户端推出点赞按钮后,新浪微博现在有了一个可以嵌入第三方的点赞按钮网站。
据新浪微博开放平台相关页面介绍,用户可以通过点赞按钮同步表达态度、发现好友、分享内容。
随时随地轻松表达态度-----用户浏览网页,找到自己喜欢的内容。“喜欢”按钮可用于一键式表达他们的情绪。找朋友方便快捷-----“点赞”按钮也会显示表达态度的用户。如果你的微博朋友也“点赞”了,那么你会看到她/他的内容被同步分享了-----点击按钮后,用户会在微博中同步一条收录对象内容的动态消息,继续通过微博传播
网站 开发人员现在可以将此按钮嵌入到他们自己的 网站 中。
Like按钮最早出现在FriendFeed(Twitter的竞争对手,后来被Facebook收购)网站,然后被Facebook发扬光大,现在充斥着世界各个角落(中国除外)。我写了一篇36氪文章的文章,解释了赞按钮的强大:
带有“赞”按钮网站 的媒体将其推荐流量平均增加了 300%。
Levi's 于 2010 年 4 月添加了 Like 按钮,此后流量增长了 40 倍并保持稳定。
添加“赞”按钮后,收入在 2 周内增长了 100%。
添加赞按钮后,Tea 采集 的每日收入翻了 10 倍。
但是,要达到这个效果,微博需要支持将用户喜欢的内容同步到时间线(目前只显示在自己的个人资料页面)。上次与新浪微博开放平台总经理楚大臣交流时,他透露未来会加入这个功能,但他们还在探索内容的呈现方式。Timeline中出现的点赞内容非常有利于流量,但处理不当会对用户造成干扰。
(个人资料页面点赞按钮的显示效果)
除了新浪微博,QQ空间和人人网也早就推出了自己的点赞按钮。据说腾讯微博很早就在规划这个功能。
对于微博来说,点赞按钮可以让他们采集大量的用户数据,这对于未来无论是用于投放精准广告还是对内容进行个性化推荐都将是非常有价值的。
网站调用新浪微博内容( Wordpress将选中内容分享到新浪腾讯微博的方法)
网站优化 • 优采云 发表了文章 • 0 个评论 • 48 次浏览 • 2021-11-30 09:21
Wordpress将选中内容分享到新浪腾讯微博的方法)
Wordpress 如何将选定的内容分享到新浪微博?
本文介绍了 Wordpress 如何将所选内容分享到新浪腾讯微博的示例。分享给大家,供大家参考。具体方法如下:
推荐:《Wordpress 教程》
1、介绍jQuery,相信大部分WordPress博客都已经介绍了jQuery,可以直接进行第二步。
2、在页面底部,或者更准确的说,在引入jQuery库之后添加这样一段JS,就可以看到和本站一样的效果了。
选择和分享的功能似乎比较先进。实际上,实现非常简单。其中头大,常人不感兴趣的原理这里略过。选中js文本后,分享到新浪微博的功能很简单。是封装的,方法名是:$sinaMiniBlogShare
示例代码如下:
代码显示如下:
var miniBlogShare = function() {
//指定位置驻入节点
$('1328255868614.gif/1328255868314.png').appendTo('body');
//默认样式
$('.img_share').css({
display : 'none',
position : 'absolute',
cursor : 'pointer'
});
//选中文字
var funGetSelectTxt = function() {
var txt = '';
if(document.selection) {
txt = document.selection.createRange().text;
} else {
txt = document.getSelection();
}
return txt.toString();
};
//选中文字后显示微博图标
$('html,body').mouseup(function(e) {
if (e.target.id == 'imgSinaShare' || e.target.id == 'imgQqShare') {
return
}
e = e || window.event;
var txt = funGetSelectTxt(),
sh = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
left = (e.clientX - 40 < 0) ? e.clientX + 20 : e.clientX - 40,
top = (e.clientY - 40 < 0) ? e.clientY + sh + 20 : e.clientY + sh - 40;
if (txt) {
$('#imgSinaShare').css({
display : 'inline',
left : left,
top : top
});
$('#imgQqShare').css({
display : 'inline',
left : left + 30,
top : top
});
} else {
$('#imgSinaShare').css('display', 'none');
$('#imgQqShare').css('display', 'none');
}
});
//点击新浪微博
$('#imgSinaShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.sina.com.cn/share/s ... 39%3B + txt + ' —— 转载自:' + title + '&url=' + window.location.href);
}
});
//点击腾讯微博
$('#imgQqShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.qq.com/share/share.php?title=' + encodeURIComponent(txt + ' —— 转载自:' + title) + '&url=' + window.location.href);
}
});
}();
可以看到$sinaMiniBlogShare 方法有两个参数,eleShare 和eleContainer。其中,第一个参数是必须的,指的是选中文本后出现的浮动图层元素(本文demo中为新浪眼图标),后一个参数指的是文本框的容器元素text selection,可选参数,如果不设置,则是指文档元素,即整个页面的文本选择都会触发分享功能。
假设新浪微博分享图标的HTML如下:
代码显示如下:
然后直接使用如下代码:
代码显示如下:
$sinaMiniBlogShare(document.getElementById("imgSinaShare"));
我希望这篇文章能帮助你建立你的 WordPress 网站。
以上就是Wordpress如何将选中的内容分享到新浪微博的详细内容。更多详情请关注php中文网其他相关文章!
免责声明:本文原创发表于php中文网。转载请注明出处。感谢您的尊重!如果您有任何疑问,请与我们联系 查看全部
网站调用新浪微博内容(
Wordpress将选中内容分享到新浪腾讯微博的方法)

Wordpress 如何将选定的内容分享到新浪微博?
本文介绍了 Wordpress 如何将所选内容分享到新浪腾讯微博的示例。分享给大家,供大家参考。具体方法如下:
推荐:《Wordpress 教程》
1、介绍jQuery,相信大部分WordPress博客都已经介绍了jQuery,可以直接进行第二步。
2、在页面底部,或者更准确的说,在引入jQuery库之后添加这样一段JS,就可以看到和本站一样的效果了。
选择和分享的功能似乎比较先进。实际上,实现非常简单。其中头大,常人不感兴趣的原理这里略过。选中js文本后,分享到新浪微博的功能很简单。是封装的,方法名是:$sinaMiniBlogShare
示例代码如下:
代码显示如下:
var miniBlogShare = function() {
//指定位置驻入节点
$('1328255868614.gif/1328255868314.png').appendTo('body');
//默认样式
$('.img_share').css({
display : 'none',
position : 'absolute',
cursor : 'pointer'
});
//选中文字
var funGetSelectTxt = function() {
var txt = '';
if(document.selection) {
txt = document.selection.createRange().text;
} else {
txt = document.getSelection();
}
return txt.toString();
};
//选中文字后显示微博图标
$('html,body').mouseup(function(e) {
if (e.target.id == 'imgSinaShare' || e.target.id == 'imgQqShare') {
return
}
e = e || window.event;
var txt = funGetSelectTxt(),
sh = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0,
left = (e.clientX - 40 < 0) ? e.clientX + 20 : e.clientX - 40,
top = (e.clientY - 40 < 0) ? e.clientY + sh + 20 : e.clientY + sh - 40;
if (txt) {
$('#imgSinaShare').css({
display : 'inline',
left : left,
top : top
});
$('#imgQqShare').css({
display : 'inline',
left : left + 30,
top : top
});
} else {
$('#imgSinaShare').css('display', 'none');
$('#imgQqShare').css('display', 'none');
}
});
//点击新浪微博
$('#imgSinaShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.sina.com.cn/share/s ... 39%3B + txt + ' —— 转载自:' + title + '&url=' + window.location.href);
}
});
//点击腾讯微博
$('#imgQqShare').click(function() {
var txt = funGetSelectTxt(), title = $('title').html();
if (txt) {
window.open('http://v.t.qq.com/share/share.php?title=' + encodeURIComponent(txt + ' —— 转载自:' + title) + '&url=' + window.location.href);
}
});
}();
可以看到$sinaMiniBlogShare 方法有两个参数,eleShare 和eleContainer。其中,第一个参数是必须的,指的是选中文本后出现的浮动图层元素(本文demo中为新浪眼图标),后一个参数指的是文本框的容器元素text selection,可选参数,如果不设置,则是指文档元素,即整个页面的文本选择都会触发分享功能。
假设新浪微博分享图标的HTML如下:
代码显示如下:

然后直接使用如下代码:
代码显示如下:
$sinaMiniBlogShare(document.getElementById("imgSinaShare"));
我希望这篇文章能帮助你建立你的 WordPress 网站。
以上就是Wordpress如何将选中的内容分享到新浪微博的详细内容。更多详情请关注php中文网其他相关文章!

免责声明:本文原创发表于php中文网。转载请注明出处。感谢您的尊重!如果您有任何疑问,请与我们联系
网站调用新浪微博内容(php调用新浪微博api怎么获取url返回的json使用curl)
网站优化 • 优采云 发表了文章 • 0 个评论 • 53 次浏览 • 2021-11-29 23:04
1、新浪微博用的是什么php框架?
一般来说,新浪、百度等大公司都在开发自己的框架。
很少用到第三方的,连他们用的javascript库都是自己写的!
2、 新浪微博开发PHP可以实现这样的功能,见下图。
这不需要php,而是js。这是新浪发布的api。去新浪找一个特殊的代码给你。
3、求PHP的外部代码网站同步新浪微博内容,关注内容同步,3Q
如果想让微博内容同步到代码插入网站,必须在微博管理设置中获取,然后插入网站。
如果您将网站的更新内容同步到您的微博,取决于您的PHP 网站是否有API接口应用。否则没有代码共享,只能自己开发。
4、php如何调用新浪微博api获取url返回的json?
用curl模拟php的post或get请求,然后新浪接口会返回json数据,你可以在php中接收。可以参考下面这个网站,flie_get_content()curl等有多种方法,我习惯用curl,
希望这可以帮助
5、php使用新浪微博API自动授权
新浪的php有例子,你可以直接关注他。获取access_token的地方在callback.php,你应该先看懂例子。$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']); 最后,你会得到 $token['access_token']; 就是这个。它的时间限制根据您的开发人员级别而增加。一开始可能是1天或7天。当您的流量上升时,您可以申请更高的级别。最高级别是 30 天。并且有一个expires_in参数专门用来记录过期日期。
6、 PHP定时发送新浪微博,出现错误
每次发送的数据都一样吗?同样的事情似乎不起作用
另外,您负责发送实时执行的php页面吗?
7、如何在PHP中给HTML页面添加新浪微博图标认证如下图
这种东西一般是通过字体图标来实现的,比如Bootstrap的Font Awesome。
使用方法如下:
首先介绍一下css库:
然后,在需要的地方引用如下:
类名是字体图标的名称。具体名称参考官网:
8、php怎么调用新浪微博的api,比如显示某人的粉丝!急...求例子!
新浪微博API封装在新浪微博SDK中
所以先阅读微博SDK,微博应用开发者使用的
你可以搜索新浪sae找到相关教程
9、我网站发布内容时如何自动将内容发布到新浪微博,php函数怎么写
这要看新浪微博有没有这个功能。如果有,就用PHP写一个提交函数,把内容提交到新浪微博。在PHP中,表示向新浪微博提交表单。使用 post 请求。
10、PHP获取新浪微博信息的问题
在正式的方式中,没有办法获取所有的信息,但是可以获取一些信息。你可以在微博开放平台上看到。它更容易实施。
非法方法是伪造登录身份,抓取微博页面上的数据,然后进行整合。高成本。
如果这个人没有新浪微博,他怎么能在微博上获取信息? 查看全部
网站调用新浪微博内容(php调用新浪微博api怎么获取url返回的json使用curl)
1、新浪微博用的是什么php框架?
一般来说,新浪、百度等大公司都在开发自己的框架。
很少用到第三方的,连他们用的javascript库都是自己写的!
2、 新浪微博开发PHP可以实现这样的功能,见下图。
这不需要php,而是js。这是新浪发布的api。去新浪找一个特殊的代码给你。
3、求PHP的外部代码网站同步新浪微博内容,关注内容同步,3Q
如果想让微博内容同步到代码插入网站,必须在微博管理设置中获取,然后插入网站。
如果您将网站的更新内容同步到您的微博,取决于您的PHP 网站是否有API接口应用。否则没有代码共享,只能自己开发。
4、php如何调用新浪微博api获取url返回的json?
用curl模拟php的post或get请求,然后新浪接口会返回json数据,你可以在php中接收。可以参考下面这个网站,flie_get_content()curl等有多种方法,我习惯用curl,
希望这可以帮助
5、php使用新浪微博API自动授权
新浪的php有例子,你可以直接关注他。获取access_token的地方在callback.php,你应该先看懂例子。$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']); 最后,你会得到 $token['access_token']; 就是这个。它的时间限制根据您的开发人员级别而增加。一开始可能是1天或7天。当您的流量上升时,您可以申请更高的级别。最高级别是 30 天。并且有一个expires_in参数专门用来记录过期日期。
6、 PHP定时发送新浪微博,出现错误
每次发送的数据都一样吗?同样的事情似乎不起作用
另外,您负责发送实时执行的php页面吗?
7、如何在PHP中给HTML页面添加新浪微博图标认证如下图
这种东西一般是通过字体图标来实现的,比如Bootstrap的Font Awesome。
使用方法如下:
首先介绍一下css库:
然后,在需要的地方引用如下:
类名是字体图标的名称。具体名称参考官网:
8、php怎么调用新浪微博的api,比如显示某人的粉丝!急...求例子!
新浪微博API封装在新浪微博SDK中
所以先阅读微博SDK,微博应用开发者使用的
你可以搜索新浪sae找到相关教程
9、我网站发布内容时如何自动将内容发布到新浪微博,php函数怎么写
这要看新浪微博有没有这个功能。如果有,就用PHP写一个提交函数,把内容提交到新浪微博。在PHP中,表示向新浪微博提交表单。使用 post 请求。
10、PHP获取新浪微博信息的问题
在正式的方式中,没有办法获取所有的信息,但是可以获取一些信息。你可以在微博开放平台上看到。它更容易实施。
非法方法是伪造登录身份,抓取微博页面上的数据,然后进行整合。高成本。
如果这个人没有新浪微博,他怎么能在微博上获取信息?
网站调用新浪微博内容(网站调用新浪微博内容功能失败而返,应该是因为……)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-29 07:02
网站调用新浪微博内容功能失败而返,应该是因为新浪微博的爬虫被封杀了,可以从这个网站获取微博文章。/,这个是上传链接,点击下载连接即可下载。
设置好ua设置好cookiesecret设置好可信度代码设置好密码就可以正常访问了
从新浪网下载一个抓取新浪新闻的代码可以解决
得跟新浪扯上点关系才行,
yandex。别笑!在美国月度大统一广告商报告上发表的2016年美国广告业报告研究显示,预计2016年将是一场美国网络广告史上的重大变革。在过去的十二个月时间里,广告市场竞争日益激烈,几家网络公司将市场份额占有率逐渐达到了四分之一。这十二个月是互联网从概念到大规模商业化的重要一年。
写个,主流ie9以上,chrome,
python+googleapi+rss订阅这是效果最好的。
没必要爬新浪,因为新浪服务器限制太多,而且网址经常被封,最近倒是可以试一下,利用新浪微博的订阅功能就可以订阅新浪新闻,
rss订阅
firefoxorchrome。
别不信,rss可以解决这个问题,别信你百度到的说法原始版本需要特殊的设置,不然只能打开,不能下载,不能看我就是因为之前是windows,后来还是从os转过来, 查看全部
网站调用新浪微博内容(网站调用新浪微博内容功能失败而返,应该是因为……)
网站调用新浪微博内容功能失败而返,应该是因为新浪微博的爬虫被封杀了,可以从这个网站获取微博文章。/,这个是上传链接,点击下载连接即可下载。
设置好ua设置好cookiesecret设置好可信度代码设置好密码就可以正常访问了
从新浪网下载一个抓取新浪新闻的代码可以解决
得跟新浪扯上点关系才行,
yandex。别笑!在美国月度大统一广告商报告上发表的2016年美国广告业报告研究显示,预计2016年将是一场美国网络广告史上的重大变革。在过去的十二个月时间里,广告市场竞争日益激烈,几家网络公司将市场份额占有率逐渐达到了四分之一。这十二个月是互联网从概念到大规模商业化的重要一年。
写个,主流ie9以上,chrome,
python+googleapi+rss订阅这是效果最好的。
没必要爬新浪,因为新浪服务器限制太多,而且网址经常被封,最近倒是可以试一下,利用新浪微博的订阅功能就可以订阅新浪新闻,
rss订阅
firefoxorchrome。
别不信,rss可以解决这个问题,别信你百度到的说法原始版本需要特殊的设置,不然只能打开,不能下载,不能看我就是因为之前是windows,后来还是从os转过来,
网站调用新浪微博内容(python言语恶劣地评论个人博客是垃圾,说个人代码有问题 )
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-11-28 12:37
)
PS:(本人长期售卖大量微博数据,旅游网站评论数据,并提供各种指定的数据爬取服务,Message to。由于更新后微博界面限制增加,此代码可以不再使用爬取数据。如果只是采集数据,可以咨询个人邮箱,如果是学习爬取,建议改成phantomjs从网页爬取微博)html
使用新浪API抓取数据
2018.5.16条提示
现在微博的api接口已经不好用了。具有普通权限的令牌无法再抓取任何数据。用这个代码爬取大量数据是不可能的。只有熟悉使用微博api接口的人才能使用。一个小演示。Python
2018.4.16 说明 linux
注:今天有人在个人博客上差评说是垃圾,说个人代码有问题。这个博客历史悠久,是我的第一个爬虫写的。我很感谢能对个人守则发表意见的人,但我受不了人说脏话和态度不好。如果有什么要说的,那就是现代社会,高学历高知识分子的最低意识。ios
我已经更改了代码。如果有什么问题,欢迎您温柔地指出!!!!混帐
同时,由于新浪微博自身api机制的不断变化,截至目前,本博客的内容有所限制。对我的开发者来说,你申请的token权限只能爬你自己的微博。,所以对于那些想依赖api爬取数据的人来说,恐怕达不到他们的目的。如果要使用api抓取微博内容,只能选择获取更高的开发者权限。github
1. 首先来看看我们得到的结果,是否是你想知道的,然后再决定是否继续阅读。
我主要爬取了4天左右的数据,图中可以看到大约360万条数据,因为是在自己的电脑上爬取数据,有时候晚上上网会中断,所以大约一天能爬取100万条左右最新的微博数据(因为我调用的是最新的微博API public_timeline) web
API文档中定义了很多返回类型(以json数据格式返回,我选择了一些我认为重要的信息抓取如图:大概id号,位置,粉丝数,微博内容,微博时间等.虽然这些数据可以根据自己的需要定制。)mongodb
大概就是这个内容。如果你觉得这对你有帮助,请继续阅读... 第一次写博客有点啰嗦2.前期准备
我们需要什么:数据库
2.1mongodb 安装
MongoDB 是一种高性能、开源、无模式的文档数据库,是最流行的 NoSql 数据库之一。在很多场景下可以用来替代传统的关系型数据库或者键/值存储。Mongo 是用 C++ 开发的。Mongo的官方网站地址是:读者可以在这里获得更详细的信息。json
插曲:什么是NoSql?
NoSql,全称Not Only Sql,指的是非关系型数据库。下一代数据库主要解决几个点:非关系型、分布式、开源、横向扩展。最初的目的是用于大型 Web 应用程序。这一运动始于2009年初。 一般特性如:模型自由、支持简单复制、简单API、最终一致性(非ACID)、大容量数据等。NoSQL是我们使用最多的键值存储,当然,还有其他基于文档的、基于列的、基于图的数据库、xml数据库等。
网上有很多安装mongodb的教程,我就不写了
Windows下mongodb的安装
Linux下mongodb的安装
2.2 如何注册新浪开发者账号
* 建立完成后,需要填写手机号码验证*
首次创建应用程序,您需要填写以下信息:
本页面信息无需填写真实信息,如地区、电话等,可随意填写。网站 填写即可。(邮箱必须是真实的)
继续构建应用程序。自定义应用名称,查看平台下的ios、android
建立完成后,返回继续创建。一个账号可以创建10个应用,每个应用对应一个access-token(其实我只用了一个来满足我的需求)
一一选择创建的应用程序。观点
用txt保存下面的令牌。
回到
点击个人申请
然后选择您刚刚创建的应用程序
进入后点击申请信息
保存APP Key和APP Secret
点击高级信息
设置回调地址
可以设为默认
至此你的开发者账号已经完成
2.3 如何安装依赖库
安装请求和 pymongo
可以直接用pip安装
pip install requests 和 pip install pymongo
也可以直接在Pycharm中安装
选择文件 -> 设置 -> 项目 -> 项目解释器
可以看到自己安装的Python库,点击右边绿色的*+*号
只需安装
3.问题分析3.1 OAuth认证
* 授权机制说明(非常重要)*
网上很多人都在谈论使用新浪微博API发送微博。他们使用这种方式来请求用户授权令牌,但是这种方式显然不适合我们爬取数据,因为我们每次都要请求。从新获取代码。详情请参考新浪微博API授权机制
廖雪峰老师(新浪微博贡献者)也对这个授权机制有解释
通过新浪微博网站的API接入,用户无需在您的网站上注册,直接在新浪微博@>用自己的账号和密码登录您的网站,需要确保你的网站在不知道或不知道用户密码的情况下确认用户已经成功登录。因为用户的密码存储在新浪微博中,所以认证用户的过程只能由新浪微博来完成,但是新浪微博是如何和你的网站沟通并告诉你用户是否登录成功的呢?这个过程称为第三方登录。OAuth 是标准的第三方登录协议。通过 OAuth,您的 网站 可以安全地访问从新浪微博成功登录的用户。
OAuth 目前有两个版本:1.0 和 2.0。2.0版本大大简化了1.0版本,API更简单。新浪微博最新的API也是使用OAuth2.0。整个登录过程如下:
用户在您的网站上点击“使用新浪微博登录”,您的网站将用户重定向到新浪微博的OAuth认证页面。重定向的连接收录client_id参数作为你的网站ID,redirect_uri参数告诉新浪微博,当用户登录成功后,浏览器将重定向到你的网站;用户在新浪微博认证页面输入账号和密码;新浪微博认证成功后,将浏览器重定向到你的网站并附上code参数;你的网站通过code参数向新浪微博请求用户的访问令牌;你的 网站 拿到用户的访问令牌后,用户登录就完成了。
OAuth访问令牌是由网站(如新浪微博)生成的提供认证服务的令牌,表示用户的认证信息。在随后的 API 调用中,传入访问令牌以指示已登录的用户。这样在OAuth协议之后,你的网站会将用户验证步骤交给新浪微博完成,新浪微博会通知你用户是否登录成功。
OAuth的安全是通过第4步完成的。通过code参数获取access token的过程由你的网站后台到新浪微博网站完成,用户看不到获取的HTTP访问令牌。问。如果用户输入伪造的代码,新浪微博将返回错误。
详情请参考廖雪峰老师的文档
一般来说,按照通常要求用户授权调用Token的情况,会出现这种情况:
获取代码
登录后会转一个链接××××××××
我们需要的是code=××××××××××××的值
也就是说,每次调用API认证都会在浏览器中出现一段代码,这显然不利于爬取网站
如何解决问题?首先我们想到的就是在Python程序中模拟登录新浪微博,然后自然就可以得到code值了。不过模拟新浪微博登录比较复杂,既然模拟登录成功了,何必调用API呢……直接自定义爬取不是更方便。
如果你看过上面的授权机制,你应该会想到的。这时候就需要我们之前申请的access-token
个人理解,access-token就是将你的微博授权给第三方,让他为你做一些事情。类似于在手机上通过新浪微博登录然后进行操作(使用上面提到的授权机制) 总之,手机应用可以直接使用官方的手机SDK,通过调用微博客户端进行授权(如果未安装微博客户端,会调用H5授权页面)。
你应该熟悉这个界面
新浪也对Oauth2/access token进行了说明
4.代码实现
有了token,实现数据抓取就很简单了
可以抓取多少数据取决于您的令牌权限
下一步是使用API获取数据:新建一个文件weibo_run.py
# -*- coding:utf-8 -*-
import requests
from pymongo import MongoClient
ACCESS_TOKEN = '2.00ZooSqFHAgn3D59864ee3170DLjNj'
URL = 'https://api.weibo.com/2/statuses/public_timeline.json'
def run():
#受权
while True:
#调用statuses__public_timeline的api接口
params = {
'access_token': ACCESS_TOKEN
}
statuses = requests.get(url=URL, params=params).json()['statuses']
length = len(statuses)
#这是后来我为了查看获取微博条数设置的
print length
#链接mongodb,不须要本地的额外配置
Monclient = MongoClient('localhost', 27017)
db = Monclient['Weibo']
WeiboData = db['HadSelected']
#获取的各个数据名应该能够清楚的看出来对应的是什么数据
for i in range(0, length):
created_at = statuses[i]['created_at']
id = statuses[i]['user']['id']
province = statuses[i]['user']['province']
city = statuses[i]['user']['city']
followers_count = statuses[i]['user']['followers_count']
friends_count = statuses[i]['user']['friends_count']
statuses_count = statuses[i]['user']['statuses_count']
url = statuses[i]['user']['url']
geo = statuses[i]['geo']
comments_count = statuses[i]['comments_count']
reposts_count = statuses[i]['reposts_count']
nickname = statuses[i]['user']['screen_name']
desc = statuses[i]['user']['description']
location = statuses[i]['user']['location']
text = statuses[i]['text']
#插入mongodb
WeiboData.insert_one({
'created_at': created_at,
'id': id,
'nickname': nickname,
'text': text,
'province': province,
'location': location,
'description': desc,
'city': city,
'followers_count': followers_count,
'friends_count': friends_count,
'statuses_count': statuses_count,
'url': url,
'geo': geo,
'comments_count': comments_count,
'reposts_count': reposts_count
})
if __name__ == "__main__":
run()
个人代码一开始是这样的,现在好像搞定了。
不过因为新浪会限制可以调用的次数,所以我又尝试运行了一下,发现了一个问题。我之前打印长度的每一行得到的值都不一样,一直在16-20之间徘徊。它表明我从新运行中获得的数据每次都不同。然后就想算了,就写个无限循环看他什么时候又会被阻塞。所以代码变成如下
删除 run() 并将其替换为以下无限循环。
if __name__ == "__main__":
while 1:
try:
run()
except:
pass
结果,他一直在跑……已经跑了四天了,没有被堵死。估计是不能屏蔽了……
其他接口也以同样的方式使用。只需更改 url 和 params。具体参数请参考新浪微博API文档。
一开始我发现我一天可以拿到800万条数据,这让我很开心……后来我发现了很多重复的数据。找了半天终于找到了解决办法。在mongodb中,根据用户的id和建立时间创建了一个索引(因为不可能同时发两条微博),最后没有重复数据一天搞100条。一万条信息。
我的博客 查看全部
网站调用新浪微博内容(python言语恶劣地评论个人博客是垃圾,说个人代码有问题
)
PS:(本人长期售卖大量微博数据,旅游网站评论数据,并提供各种指定的数据爬取服务,Message to。由于更新后微博界面限制增加,此代码可以不再使用爬取数据。如果只是采集数据,可以咨询个人邮箱,如果是学习爬取,建议改成phantomjs从网页爬取微博)html
使用新浪API抓取数据
2018.5.16条提示
现在微博的api接口已经不好用了。具有普通权限的令牌无法再抓取任何数据。用这个代码爬取大量数据是不可能的。只有熟悉使用微博api接口的人才能使用。一个小演示。Python
2018.4.16 说明 linux
注:今天有人在个人博客上差评说是垃圾,说个人代码有问题。这个博客历史悠久,是我的第一个爬虫写的。我很感谢能对个人守则发表意见的人,但我受不了人说脏话和态度不好。如果有什么要说的,那就是现代社会,高学历高知识分子的最低意识。ios
我已经更改了代码。如果有什么问题,欢迎您温柔地指出!!!!混帐
同时,由于新浪微博自身api机制的不断变化,截至目前,本博客的内容有所限制。对我的开发者来说,你申请的token权限只能爬你自己的微博。,所以对于那些想依赖api爬取数据的人来说,恐怕达不到他们的目的。如果要使用api抓取微博内容,只能选择获取更高的开发者权限。github
1. 首先来看看我们得到的结果,是否是你想知道的,然后再决定是否继续阅读。

我主要爬取了4天左右的数据,图中可以看到大约360万条数据,因为是在自己的电脑上爬取数据,有时候晚上上网会中断,所以大约一天能爬取100万条左右最新的微博数据(因为我调用的是最新的微博API public_timeline) web
API文档中定义了很多返回类型(以json数据格式返回,我选择了一些我认为重要的信息抓取如图:大概id号,位置,粉丝数,微博内容,微博时间等.虽然这些数据可以根据自己的需要定制。)mongodb
大概就是这个内容。如果你觉得这对你有帮助,请继续阅读... 第一次写博客有点啰嗦2.前期准备
我们需要什么:数据库
2.1mongodb 安装
MongoDB 是一种高性能、开源、无模式的文档数据库,是最流行的 NoSql 数据库之一。在很多场景下可以用来替代传统的关系型数据库或者键/值存储。Mongo 是用 C++ 开发的。Mongo的官方网站地址是:读者可以在这里获得更详细的信息。json
插曲:什么是NoSql?
NoSql,全称Not Only Sql,指的是非关系型数据库。下一代数据库主要解决几个点:非关系型、分布式、开源、横向扩展。最初的目的是用于大型 Web 应用程序。这一运动始于2009年初。 一般特性如:模型自由、支持简单复制、简单API、最终一致性(非ACID)、大容量数据等。NoSQL是我们使用最多的键值存储,当然,还有其他基于文档的、基于列的、基于图的数据库、xml数据库等。
网上有很多安装mongodb的教程,我就不写了
Windows下mongodb的安装
Linux下mongodb的安装
2.2 如何注册新浪开发者账号

* 建立完成后,需要填写手机号码验证*



首次创建应用程序,您需要填写以下信息:

本页面信息无需填写真实信息,如地区、电话等,可随意填写。网站 填写即可。(邮箱必须是真实的)
继续构建应用程序。自定义应用名称,查看平台下的ios、android

建立完成后,返回继续创建。一个账号可以创建10个应用,每个应用对应一个access-token(其实我只用了一个来满足我的需求)


一一选择创建的应用程序。观点

用txt保存下面的令牌。
回到

点击个人申请
然后选择您刚刚创建的应用程序

进入后点击申请信息

保存APP Key和APP Secret
点击高级信息
设置回调地址

可以设为默认
至此你的开发者账号已经完成
2.3 如何安装依赖库
安装请求和 pymongo
可以直接用pip安装
pip install requests 和 pip install pymongo
也可以直接在Pycharm中安装
选择文件 -> 设置 -> 项目 -> 项目解释器
可以看到自己安装的Python库,点击右边绿色的*+*号
只需安装
3.问题分析3.1 OAuth认证
* 授权机制说明(非常重要)*
网上很多人都在谈论使用新浪微博API发送微博。他们使用这种方式来请求用户授权令牌,但是这种方式显然不适合我们爬取数据,因为我们每次都要请求。从新获取代码。详情请参考新浪微博API授权机制
廖雪峰老师(新浪微博贡献者)也对这个授权机制有解释
通过新浪微博网站的API接入,用户无需在您的网站上注册,直接在新浪微博@>用自己的账号和密码登录您的网站,需要确保你的网站在不知道或不知道用户密码的情况下确认用户已经成功登录。因为用户的密码存储在新浪微博中,所以认证用户的过程只能由新浪微博来完成,但是新浪微博是如何和你的网站沟通并告诉你用户是否登录成功的呢?这个过程称为第三方登录。OAuth 是标准的第三方登录协议。通过 OAuth,您的 网站 可以安全地访问从新浪微博成功登录的用户。
OAuth 目前有两个版本:1.0 和 2.0。2.0版本大大简化了1.0版本,API更简单。新浪微博最新的API也是使用OAuth2.0。整个登录过程如下:
用户在您的网站上点击“使用新浪微博登录”,您的网站将用户重定向到新浪微博的OAuth认证页面。重定向的连接收录client_id参数作为你的网站ID,redirect_uri参数告诉新浪微博,当用户登录成功后,浏览器将重定向到你的网站;用户在新浪微博认证页面输入账号和密码;新浪微博认证成功后,将浏览器重定向到你的网站并附上code参数;你的网站通过code参数向新浪微博请求用户的访问令牌;你的 网站 拿到用户的访问令牌后,用户登录就完成了。
OAuth访问令牌是由网站(如新浪微博)生成的提供认证服务的令牌,表示用户的认证信息。在随后的 API 调用中,传入访问令牌以指示已登录的用户。这样在OAuth协议之后,你的网站会将用户验证步骤交给新浪微博完成,新浪微博会通知你用户是否登录成功。
OAuth的安全是通过第4步完成的。通过code参数获取access token的过程由你的网站后台到新浪微博网站完成,用户看不到获取的HTTP访问令牌。问。如果用户输入伪造的代码,新浪微博将返回错误。
详情请参考廖雪峰老师的文档
一般来说,按照通常要求用户授权调用Token的情况,会出现这种情况:

获取代码

登录后会转一个链接××××××××
我们需要的是code=××××××××××××的值
也就是说,每次调用API认证都会在浏览器中出现一段代码,这显然不利于爬取网站
如何解决问题?首先我们想到的就是在Python程序中模拟登录新浪微博,然后自然就可以得到code值了。不过模拟新浪微博登录比较复杂,既然模拟登录成功了,何必调用API呢……直接自定义爬取不是更方便。
如果你看过上面的授权机制,你应该会想到的。这时候就需要我们之前申请的access-token
个人理解,access-token就是将你的微博授权给第三方,让他为你做一些事情。类似于在手机上通过新浪微博登录然后进行操作(使用上面提到的授权机制) 总之,手机应用可以直接使用官方的手机SDK,通过调用微博客户端进行授权(如果未安装微博客户端,会调用H5授权页面)。
你应该熟悉这个界面

新浪也对Oauth2/access token进行了说明
4.代码实现
有了token,实现数据抓取就很简单了
可以抓取多少数据取决于您的令牌权限
下一步是使用API获取数据:新建一个文件weibo_run.py
# -*- coding:utf-8 -*-
import requests
from pymongo import MongoClient
ACCESS_TOKEN = '2.00ZooSqFHAgn3D59864ee3170DLjNj'
URL = 'https://api.weibo.com/2/statuses/public_timeline.json'
def run():
#受权
while True:
#调用statuses__public_timeline的api接口
params = {
'access_token': ACCESS_TOKEN
}
statuses = requests.get(url=URL, params=params).json()['statuses']
length = len(statuses)
#这是后来我为了查看获取微博条数设置的
print length
#链接mongodb,不须要本地的额外配置
Monclient = MongoClient('localhost', 27017)
db = Monclient['Weibo']
WeiboData = db['HadSelected']
#获取的各个数据名应该能够清楚的看出来对应的是什么数据
for i in range(0, length):
created_at = statuses[i]['created_at']
id = statuses[i]['user']['id']
province = statuses[i]['user']['province']
city = statuses[i]['user']['city']
followers_count = statuses[i]['user']['followers_count']
friends_count = statuses[i]['user']['friends_count']
statuses_count = statuses[i]['user']['statuses_count']
url = statuses[i]['user']['url']
geo = statuses[i]['geo']
comments_count = statuses[i]['comments_count']
reposts_count = statuses[i]['reposts_count']
nickname = statuses[i]['user']['screen_name']
desc = statuses[i]['user']['description']
location = statuses[i]['user']['location']
text = statuses[i]['text']
#插入mongodb
WeiboData.insert_one({
'created_at': created_at,
'id': id,
'nickname': nickname,
'text': text,
'province': province,
'location': location,
'description': desc,
'city': city,
'followers_count': followers_count,
'friends_count': friends_count,
'statuses_count': statuses_count,
'url': url,
'geo': geo,
'comments_count': comments_count,
'reposts_count': reposts_count
})
if __name__ == "__main__":
run()
个人代码一开始是这样的,现在好像搞定了。
不过因为新浪会限制可以调用的次数,所以我又尝试运行了一下,发现了一个问题。我之前打印长度的每一行得到的值都不一样,一直在16-20之间徘徊。它表明我从新运行中获得的数据每次都不同。然后就想算了,就写个无限循环看他什么时候又会被阻塞。所以代码变成如下
删除 run() 并将其替换为以下无限循环。
if __name__ == "__main__":
while 1:
try:
run()
except:
pass
结果,他一直在跑……已经跑了四天了,没有被堵死。估计是不能屏蔽了……
其他接口也以同样的方式使用。只需更改 url 和 params。具体参数请参考新浪微博API文档。
一开始我发现我一天可以拿到800万条数据,这让我很开心……后来我发现了很多重复的数据。找了半天终于找到了解决办法。在mongodb中,根据用户的id和建立时间创建了一个索引(因为不可能同时发两条微博),最后没有重复数据一天搞100条。一万条信息。
我的博客
网站调用新浪微博内容(博文的数据表示并不统一发博文用户的昵称、Uid)
网站优化 • 优采云 发表了文章 • 0 个评论 • 44 次浏览 • 2021-11-28 12:32
但是,博客文章的数据表示并不统一。发表博文的用户的昵称、Uid、首页链接作为属性存储在标签中,博文的发表时间作为属性存储在标签中;博文的内容直接以HTML文本的形式存储在标签中,博文的转发数、评论数、点赞数存储在结构中,具体值存储在HTML 文本形式的标记。另外,博文的转发、评论、点赞数与转发博文的转发、评论、点赞数不同。
也正是由于这些差异,仅仅通过标签过滤是难以有效获取所需数据的。为了方便提取微博数据,本文使用lxml作为微博页面分析的工具。lxml 是用于 HTML/XML 解析和构建 DOM 的第三方 Python 库。可以快速灵活地处理XML格式的文档,支持XPath和XSLT,收录ElementTree、html5lib、BeautfulSoup等库。
HTML解析器使用lxml,可以使用以下语句快速解析获取到的微博页面,建立节点化的DOM结构:
将 lxml.html.soupparser 导入为 soupparser
将 lxml.etree 导入为 etree
dom=soupparser.fromstring(html)
etree.tostring(dom)
这时候只要根据分析的微博页面结构,一一访问DOM中的相关节点,就可以获取到所需的微博数据。
2.4 延迟加载处理
新浪微博页面刷新时,使用了Ajax的Lazy Load技术。开始时,页面上的所有博文都不会被加载和显示,但只会加载和显示 15 篇博文。当滚动条滚动到页面底部时,会自动加载另外 15 篇博文。所以一个完整的微博页面需要滚动和加载两次才能获得全部 45 篇博文。 查看全部
网站调用新浪微博内容(博文的数据表示并不统一发博文用户的昵称、Uid)
但是,博客文章的数据表示并不统一。发表博文的用户的昵称、Uid、首页链接作为属性存储在标签中,博文的发表时间作为属性存储在标签中;博文的内容直接以HTML文本的形式存储在标签中,博文的转发数、评论数、点赞数存储在结构中,具体值存储在HTML 文本形式的标记。另外,博文的转发、评论、点赞数与转发博文的转发、评论、点赞数不同。
也正是由于这些差异,仅仅通过标签过滤是难以有效获取所需数据的。为了方便提取微博数据,本文使用lxml作为微博页面分析的工具。lxml 是用于 HTML/XML 解析和构建 DOM 的第三方 Python 库。可以快速灵活地处理XML格式的文档,支持XPath和XSLT,收录ElementTree、html5lib、BeautfulSoup等库。
HTML解析器使用lxml,可以使用以下语句快速解析获取到的微博页面,建立节点化的DOM结构:
将 lxml.html.soupparser 导入为 soupparser
将 lxml.etree 导入为 etree
dom=soupparser.fromstring(html)
etree.tostring(dom)
这时候只要根据分析的微博页面结构,一一访问DOM中的相关节点,就可以获取到所需的微博数据。
2.4 延迟加载处理
新浪微博页面刷新时,使用了Ajax的Lazy Load技术。开始时,页面上的所有博文都不会被加载和显示,但只会加载和显示 15 篇博文。当滚动条滚动到页面底部时,会自动加载另外 15 篇博文。所以一个完整的微博页面需要滚动和加载两次才能获得全部 45 篇博文。
网站调用新浪微博内容(网站调用新浪微博内容会被新浪拉黑怎么破?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 48 次浏览 • 2021-11-25 22:04
网站调用新浪微博内容会被新浪拉黑,部分用户可以有一定概率被新浪展示给他们(搜索引擎入侵,品牌打响,快手等触发新浪入侵),我建议你在举报中详细描述,以下问题:内容发送到新浪微博的何时:用户举报提交到新浪微博后,新浪微博会在48小时内处理。但新浪将在第一时间内删除发布在其网站上的内容。在新浪微博的发布时间,1-7天内,该内容均不会显示在其他网站上。
是否同时参与到第三方软件/硬件中:同时参与新浪微博的任何第三方硬件及软件均应使用新浪微博帐号登录新浪微博发布信息后,其主页亦须关闭评论功能/人工筛选功能等。否则帐号将被拉黑。上述问题,如不明白,可联系新浪客服95284,该客服人员将及时协助解决。仅供参考。
腾讯,快手,天天快手,腾讯是没有任何影响的。和新浪网站没有任何影响。因为新浪之前在跟腾讯新闻合作,一样需要网站提供。从10月1号起,腾讯开始正式对广告客户端进行征收20%手续费,5年期限,
同样,腾讯给的大多数都是恶心的黄色或者各种评论类。对腾讯基本无影响,还被人造谣说他泄露qq账号信息等。
腾讯的新闻都是内容从别家转来的。快手几乎没有用户举报。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容会被新浪拉黑怎么破?)
网站调用新浪微博内容会被新浪拉黑,部分用户可以有一定概率被新浪展示给他们(搜索引擎入侵,品牌打响,快手等触发新浪入侵),我建议你在举报中详细描述,以下问题:内容发送到新浪微博的何时:用户举报提交到新浪微博后,新浪微博会在48小时内处理。但新浪将在第一时间内删除发布在其网站上的内容。在新浪微博的发布时间,1-7天内,该内容均不会显示在其他网站上。
是否同时参与到第三方软件/硬件中:同时参与新浪微博的任何第三方硬件及软件均应使用新浪微博帐号登录新浪微博发布信息后,其主页亦须关闭评论功能/人工筛选功能等。否则帐号将被拉黑。上述问题,如不明白,可联系新浪客服95284,该客服人员将及时协助解决。仅供参考。
腾讯,快手,天天快手,腾讯是没有任何影响的。和新浪网站没有任何影响。因为新浪之前在跟腾讯新闻合作,一样需要网站提供。从10月1号起,腾讯开始正式对广告客户端进行征收20%手续费,5年期限,
同样,腾讯给的大多数都是恶心的黄色或者各种评论类。对腾讯基本无影响,还被人造谣说他泄露qq账号信息等。
腾讯的新闻都是内容从别家转来的。快手几乎没有用户举报。
网站调用新浪微博内容(=你的分享标题pics(图)=(组图) )
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2021-11-25 11:15
)
一、qq空间
&title=富格式重传时的默认文本内容或消息正文的标题,富格式最多15个全角字符
&url=中继页面的url
&pics=需要重播的图片的url,多张图片用|
&summary=分享描述信息
&site=分享源如:腾讯(可选)
&desc=默认共享原因(可选)
&appkey=填写正确的appkey,重播后会显示key的来源
&line1=邮件正文第一行的文本,长度最多为 15 个全角字符
&line2=邮件正文第二行的文本,长度最多为 15 个全角字符
&line3=邮件正文第三行的文字,最长15个全角字符
1.分享到QQ空间界面:你的网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片&summary=你的分享描述信息
2.分享到QQ好友界面:你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简介
二、新浪微博
count=表示是否显示当前页面的共享页数(1显示)(可选,允许为空)
&url= 将页面地址转换为短域名并显示在内容文本后面。 (可选,允许为空)
&appkey=显示用于发布微博的来源。如果为空,则显示来自互联网的共享内容来源。 (可选,允许为空)
&title=分享时显示的文字内容,如果为空,会自动抓取分享页面的标题值(可选,允许为空)
&pic=自定义图片地址,为微博图片(可选,允许为空)
&ralateUid=转发时会@相关微博账号(可选,允许为空)
&language=语言设置(zh_cn|zh_tw)(可选)
1.分享到新浪微博界面:你的分享地址&sharesource=weibo&title=你的分享标题&pic=你的分享图片&appkey=你的key
三、豆瓣
image=分享图片
&url=分享网址
&name=分享标题
&text=分享内容
1.分享豆瓣:你的分享网址&名称=分享标题&文字=分享内容
四、生成二维码扫描分享到微信
您的分享网址
五、优酷
五、代码
分享到:
function shareTo(types) {
var title, imageUrl, url, description, keywords;
//获取文章标题
title = document.title;
//获取网页中内容的第一张图片地址作为分享图
imageUrl = document.images[0].src;
// imageUrl = document.getElementById("pcdetails").getElementsByTagName("img")[0];
//当内容中没有图片时,设置分享图片为网站logo
if (typeof imageUrl == 'undefined') {
imageUrl = 'https://' + window.location.host + '/static/images/logo.png';
} else {
imageUrl = imageUrl.src;
}
//获取当前网页url 这个地方根据你的页面来
// url = document.location.href;
url = 'feisu.com';
//获取网页描述
description = document.querySelector('meta[name="description"]').getAttribute('content');
//获取网页关键字
keywords = document.querySelector('meta[name="keywords"]').getAttribute('content');
//qq空间接口的传参
if (types == 'qzone') {
window.open('https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description, '', 'width=800,height=650,top=100,left=15');
}
//新浪微博接口的传参
if (types == 'sina') {
window.open('http://service.weibo.com/share/share.php?url=' + url + '&sharesource=weibo&title=' + title + '&pic=' + imageUrl + '&appkey=2706825840', '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//qq好友接口的传参
if (types == 'qq') {
window.open('http://connect.qq.com/widget/shareqq/index.html?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description + '&desc=' + keywords, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//生成二维码给微信扫描分享
if (types == 'wechat') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://zixuephp.net/inc/qrcode_img.php?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
// 豆瓣网
if (types == 'tudou') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://www.douban.com/share/service?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
} 查看全部
网站调用新浪微博内容(=你的分享标题pics(图)=(组图)
)
一、qq空间
&title=富格式重传时的默认文本内容或消息正文的标题,富格式最多15个全角字符
&url=中继页面的url
&pics=需要重播的图片的url,多张图片用|
&summary=分享描述信息
&site=分享源如:腾讯(可选)
&desc=默认共享原因(可选)
&appkey=填写正确的appkey,重播后会显示key的来源
&line1=邮件正文第一行的文本,长度最多为 15 个全角字符
&line2=邮件正文第二行的文本,长度最多为 15 个全角字符
&line3=邮件正文第三行的文字,最长15个全角字符
1.分享到QQ空间界面:你的网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片&summary=你的分享描述信息
2.分享到QQ好友界面:你的分享网址&sharesource=qzone&title=你的分享标题&pics=你的分享图片地址&summary=你的分享描述&desc=你的分享简介
二、新浪微博
count=表示是否显示当前页面的共享页数(1显示)(可选,允许为空)
&url= 将页面地址转换为短域名并显示在内容文本后面。 (可选,允许为空)
&appkey=显示用于发布微博的来源。如果为空,则显示来自互联网的共享内容来源。 (可选,允许为空)
&title=分享时显示的文字内容,如果为空,会自动抓取分享页面的标题值(可选,允许为空)
&pic=自定义图片地址,为微博图片(可选,允许为空)
&ralateUid=转发时会@相关微博账号(可选,允许为空)
&language=语言设置(zh_cn|zh_tw)(可选)
1.分享到新浪微博界面:你的分享地址&sharesource=weibo&title=你的分享标题&pic=你的分享图片&appkey=你的key
三、豆瓣
image=分享图片
&url=分享网址
&name=分享标题
&text=分享内容
1.分享豆瓣:你的分享网址&名称=分享标题&文字=分享内容
四、生成二维码扫描分享到微信
您的分享网址
五、优酷
五、代码
分享到:





function shareTo(types) {
var title, imageUrl, url, description, keywords;
//获取文章标题
title = document.title;
//获取网页中内容的第一张图片地址作为分享图
imageUrl = document.images[0].src;
// imageUrl = document.getElementById("pcdetails").getElementsByTagName("img")[0];
//当内容中没有图片时,设置分享图片为网站logo
if (typeof imageUrl == 'undefined') {
imageUrl = 'https://' + window.location.host + '/static/images/logo.png';
} else {
imageUrl = imageUrl.src;
}
//获取当前网页url 这个地方根据你的页面来
// url = document.location.href;
url = 'feisu.com';
//获取网页描述
description = document.querySelector('meta[name="description"]').getAttribute('content');
//获取网页关键字
keywords = document.querySelector('meta[name="keywords"]').getAttribute('content');
//qq空间接口的传参
if (types == 'qzone') {
window.open('https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description, '', 'width=800,height=650,top=100,left=15');
}
//新浪微博接口的传参
if (types == 'sina') {
window.open('http://service.weibo.com/share/share.php?url=' + url + '&sharesource=weibo&title=' + title + '&pic=' + imageUrl + '&appkey=2706825840', '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//qq好友接口的传参
if (types == 'qq') {
window.open('http://connect.qq.com/widget/shareqq/index.html?url=' + url + '&sharesource=qzone&title=' + title + '&pics=' + imageUrl + '&summary=' + description + '&desc=' + keywords, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
//生成二维码给微信扫描分享
if (types == 'wechat') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://zixuephp.net/inc/qrcode_img.php?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
// 豆瓣网
if (types == 'tudou') {
//在线二维码生成只支持小批量调用,过多访问会限制403.
// https://zixuephp.net/inc/qrcode_img.php接口参数:url:二维码内容,size:二维码图片大小值1-10
window.open('https://www.douban.com/share/service?url=' + url, '', 'width=800,height=650,top=100,left=15,toolbar=no, menubar=no, scrollbars=no, resizable=no');
}
}
网站调用新浪微博内容( 2018年09月22日11:26日一起登录为例)
网站优化 • 优采云 发表了文章 • 0 个评论 • 37 次浏览 • 2021-11-22 08:18
2018年09月22日11:26日一起登录为例)
PHP调用微博接口实现微博登录示例
更新时间:2018-09-22 11:26:11 作者:JONGTY
本文文章主要介绍PHP如何调用微博接口实现微博登录的一个例子。小编觉得还不错。现在分享给大家,给大家一个参考。跟着小编一起来看看吧
在平时的项目开发过程中,除了用这个网站账号注册登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户使用微博账号登录访问第三方网站,分享内容,同步信息。
1、首先需要将需要授权的用户引导到以下地址:
如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
2、 接下来我们需要根据上面得到的代码兑换Access Token:
返回值:
JSON
{
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
话不多说,直接上代码:
为方便起见,我们先将get和post封装到application下的common.php中:
应用公用文件common.php:
function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码 Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
模板代码 login.html:
微博登录
点击这里进行微博登录
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。 查看全部
网站调用新浪微博内容(
2018年09月22日11:26日一起登录为例)
PHP调用微博接口实现微博登录示例
更新时间:2018-09-22 11:26:11 作者:JONGTY
本文文章主要介绍PHP如何调用微博接口实现微博登录的一个例子。小编觉得还不错。现在分享给大家,给大家一个参考。跟着小编一起来看看吧
在平时的项目开发过程中,除了用这个网站账号注册登录外,还可以调用第三方接口登录网站。这里我们以微博登录为例。微博登录包括身份认证、用户关系和内容传播。允许用户使用微博账号登录访问第三方网站,分享内容,同步信息。
1、首先需要将需要授权的用户引导到以下地址:
如果用户同意授权,页面跳转到YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
2、 接下来我们需要根据上面得到的代码兑换Access Token:
返回值:
JSON
{
"access_token": "SlAV32hkKG",
"remind_in": 3600,
"expires_in": 3600
}
3、最后使用获取到的OAuth2.0 Access Token调用API获取用户身份,完成用户登录。
话不多说,直接上代码:
为方便起见,我们先将get和post封装到application下的common.php中:
应用公用文件common.php:
function get( $url, $_header = NULL )
{
$curl = curl_init();
//curl_setopt ( $curl, CURLOPT_SAFE_UPLOAD, false);
if( stripos($url, 'https://') !==FALSE )
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if ( $_header != NULL )
{
curl_setopt($curl, CURLOPT_HTTPHEADER, $_header);
}
$ret = curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
if( intval( $info["http_code"] ) == 200 )
{
return $ret;
}
return false;
}
/*
* post method
*/
function post( $url, $param )
{
$oCurl = curl_init ();
curl_setopt ( $oCurl, CURLOPT_SAFE_UPLOAD, false);
if (stripos ( $url, "https://" ) !== FALSE) {
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $oCurl, CURLOPT_SSL_VERIFYHOST, false );
}
curl_setopt ( $oCurl, CURLOPT_URL, $url );
curl_setopt ( $oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $oCurl, CURLOPT_POST, true );
curl_setopt ( $oCurl, CURLOPT_POSTFIELDS, $param );
$sContent = curl_exec ( $oCurl );
$aStatus = curl_getinfo ( $oCurl );
curl_close ( $oCurl );
if (intval ( $aStatus ["http_code"] ) == 200) {
return $sContent;
} else {
return false;
}
}
控制器处理代码 Login.php:
class Login extends \think\Controller
{
public function index()
{
$key = "****";
$redirect_uri = "***微博应用安全域名***/?backurl=***项目本地域名***/home/login/webLogin?";
//授权后将页面重定向到本地项目
$redirect_uri = urlencode($redirect_uri);
$wb_url = "https://api.weibo.com/oauth2/authorize?client_id={$key}&response_type=code&redirect_uri={$redirect_uri}";
$this -> assign('wb_url',$wb_url);
return view('login');
}
public function webLogin(){
$key = "*****";
//接收code值
$code = input('get.code');
//换取Access Token: post方式请求 替换参数: client_id, client_secret,redirect_uri, code
$secret = "********";
$redirect_uri = "********";
$url = "https://api.weibo.com/oauth2/a ... id%3D{$key}&client_secret={$secret}&grant_type=authorization_code&redirect_uri={$redirect_uri}&code={$code}";
$token = post($url, array());
$token = json_decode($token, true);
//获取用户信息 : get方法,替换参数: access_token, uid
$url = "https://api.weibo.com/2/users/ ... en%3D{$token['access_token']}&uid={$token['uid']}";
$info = get($url);
if($info){
echo "<p>登录成功";
}
}
}</p>
模板代码 login.html:
微博登录
点击这里进行微博登录
效果图:



以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
网站调用新浪微博内容(新浪微博数据爬取研究(2016):基于Python的语言)
网站优化 • 优采云 发表了文章 • 0 个评论 • 59 次浏览 • 2021-11-22 03:08
新浪微博数据爬取研究.doc
新浪微博数据爬取研究
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是相关研究的首要问题。文章分析了爬取新浪微博数据的方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息来模拟浏览器访问的新浪微博数据爬取程序,解决了不使用的问题新浪微博开放平台API抓取微博数据的主要问题是实现的爬虫程序编程简单,性能稳定,可以有效获取微博数据。
关键词:新浪微博;数据抓取;微博爬虫;Python
中文图书馆分类号:TP391;TP311 文件识别码:A 文章 编号:2095-1302(2016)12-00-04
0 前言
随着互联网的不断普及,人们越来越多地参与到互联网社交活动中。微博作为一种典型的互联网社交活动,发展迅速。新浪微博是中国最早、规模最大的微博社区。新浪微博数据中心发布的《2015年微博用户发展报告》指出:“截至2015年9月,微博月活跃数已达到2.22亿,同比增长33%。 2014年;日活跃用户达1亿,同比增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]
微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3、4]、网络数据挖掘[5]越来越重要,以及如何从微博中学习爬取数据兴趣成为研究人员要解决的首要问题。本文分析了微博数据的爬取方法,提出了一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论了微博反爬取机制的相关处理。
1 如何抓取微博数据
爬取微博数据通常有两种方式。一是调用新浪微博开放平台提供的微博开放接口,二是开发爬虫程序模拟微博登录,分析获取的HTML页面,提取需要的信息。
1.1 调用微博开放接口
新浪微博开放平台[6]提供二十余种接口,涵盖微博内容、评论、用户、关系等各种操作。理论上,这种方法是最直接、最方便的方式。但是,新版微博开放界面存在一定的局限性,对于小型研究团队或个人来说,不是很方便。亮点如下:
(1)微博开放接口使用Oauth2.0认证授权,如果想获取其他用户的个人信息和微博内容,必须对该用户进行授权;
(2)微博开放界面有访问频率限制,对于测试用户的每个应用,每个应用每小时只能访问150次;
(3)很多科研机构需要的数据只能通过高级接口访问,需要特殊申请和付费。
正是因为这些局限,设计和开发自己的网络爬虫程序来获取微博数据,成为了不可缺少的替代或替代方案。
1.2 开发微博爬虫程序
微博爬虫程序的设计和开发需要分析新浪微博的特点,明确爬取数据的目的和用途,选择合理的开发语言,保证微博数据的高效稳定访问。
1.2.1 新浪微博的特点
与一般的网站相比,新浪微博具有以下特点:
(1)新浪微博为登录用户,用户必须登录后才能访问微博数据;
(2)微博博文显示采用延迟加载机制,一次只显示一个微博页面的部分博文,当用户滚动到博文底部时,其他博文在当前页面上会继续加载;
(3)新浪微博有比较完善的反爬虫机制,微博服务器一旦识别到爬虫程序,就会拒绝访问。
基于新浪微博的上述特点,在设计微博爬虫时,需要有针对性地处理以上特点。
1.2.2 开发语言选择
从快速获取微博数据的角度来看,Python是开发微博爬虫的首选语言。它具有以下特点:
(1)Python 是一种解释型高级语言,具有文本简单、易学、开发速度快等特点;
(2)Python有更丰富的库和第三方库,比其他语言开发爬虫更方便。考虑到新浪微博一段时间后会对其数据格式进行微调,所以使用Python开发微博爬虫程序具有更高的易维护性。
2 微博爬虫的实现
2.1 微博爬虫的框架结构
本文讨论的微博爬虫程序包括五个功能模块:爬虫调度器、URL管理器、页面加载器、HTML解析器和数据导出器。其框架结构如图1所示。
图1 微博爬虫框架结构
2.1.1个爬虫调度器
爬虫调度器是爬虫的控制程序,主要负责协调调度微博爬虫的各个模块。其核心功能包括:
(1)实现爬取微博数据的过程;
(2) 控制其他模块的执行;
(3)模拟浏览器登录,在页面请求中添加Headers信息;
(4)控制微博访问频率,避免被反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取所需数据。URL 管理器需要维护一个已爬取的 URL 列表和一个等待被爬取的 URL 列表。获取到新网址后,首先查看已爬取的网址列表。如果该网址不在列表中,则将其添加到等待抓取的网址列表中。
2.1.3 页面加载器
页 查看全部
网站调用新浪微博内容(新浪微博数据爬取研究(2016):基于Python的语言)
新浪微博数据爬取研究.doc
新浪微博数据爬取研究
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是相关研究的首要问题。文章分析了爬取新浪微博数据的方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息来模拟浏览器访问的新浪微博数据爬取程序,解决了不使用的问题新浪微博开放平台API抓取微博数据的主要问题是实现的爬虫程序编程简单,性能稳定,可以有效获取微博数据。
关键词:新浪微博;数据抓取;微博爬虫;Python
中文图书馆分类号:TP391;TP311 文件识别码:A 文章 编号:2095-1302(2016)12-00-04
0 前言
随着互联网的不断普及,人们越来越多地参与到互联网社交活动中。微博作为一种典型的互联网社交活动,发展迅速。新浪微博是中国最早、规模最大的微博社区。新浪微博数据中心发布的《2015年微博用户发展报告》指出:“截至2015年9月,微博月活跃数已达到2.22亿,同比增长33%。 2014年;日活跃用户达1亿,同比增长30%。随着微博平台功能的不断完善,微博用户群逐渐稳定并保持持续增长。”[1]
微博用户群的增长使得基于微博数据的社交网络分析[2]、用户行为分析[3、4]、网络数据挖掘[5]越来越重要,以及如何从微博中学习爬取数据兴趣成为研究人员要解决的首要问题。本文分析了微博数据的爬取方法,提出了一种基于Python模拟浏览器登录的微博数据爬取方案,并讨论了微博反爬取机制的相关处理。
1 如何抓取微博数据
爬取微博数据通常有两种方式。一是调用新浪微博开放平台提供的微博开放接口,二是开发爬虫程序模拟微博登录,分析获取的HTML页面,提取需要的信息。
1.1 调用微博开放接口
新浪微博开放平台[6]提供二十余种接口,涵盖微博内容、评论、用户、关系等各种操作。理论上,这种方法是最直接、最方便的方式。但是,新版微博开放界面存在一定的局限性,对于小型研究团队或个人来说,不是很方便。亮点如下:
(1)微博开放接口使用Oauth2.0认证授权,如果想获取其他用户的个人信息和微博内容,必须对该用户进行授权;
(2)微博开放界面有访问频率限制,对于测试用户的每个应用,每个应用每小时只能访问150次;
(3)很多科研机构需要的数据只能通过高级接口访问,需要特殊申请和付费。
正是因为这些局限,设计和开发自己的网络爬虫程序来获取微博数据,成为了不可缺少的替代或替代方案。
1.2 开发微博爬虫程序
微博爬虫程序的设计和开发需要分析新浪微博的特点,明确爬取数据的目的和用途,选择合理的开发语言,保证微博数据的高效稳定访问。
1.2.1 新浪微博的特点
与一般的网站相比,新浪微博具有以下特点:
(1)新浪微博为登录用户,用户必须登录后才能访问微博数据;
(2)微博博文显示采用延迟加载机制,一次只显示一个微博页面的部分博文,当用户滚动到博文底部时,其他博文在当前页面上会继续加载;
(3)新浪微博有比较完善的反爬虫机制,微博服务器一旦识别到爬虫程序,就会拒绝访问。
基于新浪微博的上述特点,在设计微博爬虫时,需要有针对性地处理以上特点。
1.2.2 开发语言选择
从快速获取微博数据的角度来看,Python是开发微博爬虫的首选语言。它具有以下特点:
(1)Python 是一种解释型高级语言,具有文本简单、易学、开发速度快等特点;
(2)Python有更丰富的库和第三方库,比其他语言开发爬虫更方便。考虑到新浪微博一段时间后会对其数据格式进行微调,所以使用Python开发微博爬虫程序具有更高的易维护性。
2 微博爬虫的实现
2.1 微博爬虫的框架结构
本文讨论的微博爬虫程序包括五个功能模块:爬虫调度器、URL管理器、页面加载器、HTML解析器和数据导出器。其框架结构如图1所示。
图1 微博爬虫框架结构
2.1.1个爬虫调度器
爬虫调度器是爬虫的控制程序,主要负责协调调度微博爬虫的各个模块。其核心功能包括:
(1)实现爬取微博数据的过程;
(2) 控制其他模块的执行;
(3)模拟浏览器登录,在页面请求中添加Headers信息;
(4)控制微博访问频率,避免被反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取所需数据。URL 管理器需要维护一个已爬取的 URL 列表和一个等待被爬取的 URL 列表。获取到新网址后,首先查看已爬取的网址列表。如果该网址不在列表中,则将其添加到等待抓取的网址列表中。
2.1.3 页面加载器
页