
网站调用新浪微博内容
网站调用新浪微博内容(weiboSpider,看名字也可以猜到这个项目是做什么的了!)
网站优化 • 优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2022-03-06 05:01
各位朋友大家好,今天给大家分享的开源项目是:weiboSpider,看名字就猜到这个项目是干什么的了!没错,这个开源项目是新浪微博的一个或多个用户(如胡歌、迪丽热巴、郭碧婷)的数据,并将结果信息写入文件或数据库,写入的信息几乎包括所有数据用户微博,包括用户信息和微博信息。本开源项目需要设置cookies才能访问微博,后面会讲解如何获取cookies。如果您不想设置 cookie,您可以使用无 cookie 版本,其功能类似。
具体写入文件类型如下:
写入 txt 文件(默认) 写入 csv 文件(默认) 写入 json 文件(可选) 写入 MySQL 数据库(可选) 写入 MongoDB 数据库(可选) 从用户 原创weibo 下载 raw 图片(可选) 下载用户转发微博中的原图(特定于无cookie版本) 下载用户原创微博中的视频(可选) 下载用户转发微博中的视频(无cookie版本独有) 下载用户在微博直播中的原创视频(无cookie版本独有) 下载用户转发微博直播中的视频(无cookie版本独有) 项目列表
自定义字段
这部分是爬取的字段信息的描述。为了区别于无cookie版本,下面列出两者爬取的信息。如果信息是无cookie版本独有的,则会有无cookie标记,未标记的信息为两者共享的信息。
用户信息
微博资讯
运行时环境部署项目
源码安装
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
复制代码
要么
$ python3 -m pip install weibo-spider
复制代码
运行程序
源码安装用户可以在weiboSpider目录下运行以下命令,pip安装用户可以在任意有写权限的目录下运行以下命令
$ python3 -m weibo_spider
复制代码
第一次执行时,会在当前目录自动创建config.json配置文件。配置完成后,执行同样的命令获取微博。如果你已经有了config.json文件,也可以通过config_path参数配置config.json路径,运行程序,命令行如下:
$ python3 -m weibo_spider --config_path="config.json"
复制代码
个性化程序(可选)
此部分是可选的,如果您不需要个性化程序或添加新功能,可以忽略。
该程序的主要代码位于 weibo_spider.py 文件中。程序的主体是一个 Spider 类。以上所有功能都是通过在main函数中调用Spider类来实现的。默认调用代码如下:
config = get_config()
wb = Spider(config)
wb.start() # 爬取微博信息
复制代码
用户可以根据需要调用或修改 Spider 类。通过执行这个程序,我们可以获得很多信息。
定时自动抓取微博(可选)
如果您希望程序每隔一段时间自动爬取,并且爬取的内容是新添加的内容(不包括已经获取的微博),请定期检查微博的自动爬取情况。
如何获得饼干
要了解如何获取 cookie,请查看 cookie 文档。
如何获取 user_id
要了解如何获取 user_id,请查看 user_id 文档,该文档描述了如何获取一个或多个微博用户的 user_id。
开源地址:/dataabc/wei...
有兴趣的旧熨斗不怕应用它。一是可以参考作者的编码风格,二是给刚入手或者最近入手的朋友提供一个采集数据思路。
今天的推荐,不知道大家喜不喜欢?如果喜欢,请在文章底部留言或点赞,以表示对我的支持。你们的评论、点赞、转发和关注,是我不断更新的动力,平安! 查看全部
网站调用新浪微博内容(weiboSpider,看名字也可以猜到这个项目是做什么的了!)
各位朋友大家好,今天给大家分享的开源项目是:weiboSpider,看名字就猜到这个项目是干什么的了!没错,这个开源项目是新浪微博的一个或多个用户(如胡歌、迪丽热巴、郭碧婷)的数据,并将结果信息写入文件或数据库,写入的信息几乎包括所有数据用户微博,包括用户信息和微博信息。本开源项目需要设置cookies才能访问微博,后面会讲解如何获取cookies。如果您不想设置 cookie,您可以使用无 cookie 版本,其功能类似。
具体写入文件类型如下:
写入 txt 文件(默认) 写入 csv 文件(默认) 写入 json 文件(可选) 写入 MySQL 数据库(可选) 写入 MongoDB 数据库(可选) 从用户 原创weibo 下载 raw 图片(可选) 下载用户转发微博中的原图(特定于无cookie版本) 下载用户原创微博中的视频(可选) 下载用户转发微博中的视频(无cookie版本独有) 下载用户在微博直播中的原创视频(无cookie版本独有) 下载用户转发微博直播中的视频(无cookie版本独有) 项目列表
自定义字段
这部分是爬取的字段信息的描述。为了区别于无cookie版本,下面列出两者爬取的信息。如果信息是无cookie版本独有的,则会有无cookie标记,未标记的信息为两者共享的信息。
用户信息
微博资讯
运行时环境部署项目
源码安装
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
复制代码
要么
$ python3 -m pip install weibo-spider
复制代码
运行程序
源码安装用户可以在weiboSpider目录下运行以下命令,pip安装用户可以在任意有写权限的目录下运行以下命令
$ python3 -m weibo_spider
复制代码
第一次执行时,会在当前目录自动创建config.json配置文件。配置完成后,执行同样的命令获取微博。如果你已经有了config.json文件,也可以通过config_path参数配置config.json路径,运行程序,命令行如下:
$ python3 -m weibo_spider --config_path="config.json"
复制代码
个性化程序(可选)
此部分是可选的,如果您不需要个性化程序或添加新功能,可以忽略。
该程序的主要代码位于 weibo_spider.py 文件中。程序的主体是一个 Spider 类。以上所有功能都是通过在main函数中调用Spider类来实现的。默认调用代码如下:
config = get_config()
wb = Spider(config)
wb.start() # 爬取微博信息
复制代码
用户可以根据需要调用或修改 Spider 类。通过执行这个程序,我们可以获得很多信息。
定时自动抓取微博(可选)
如果您希望程序每隔一段时间自动爬取,并且爬取的内容是新添加的内容(不包括已经获取的微博),请定期检查微博的自动爬取情况。
如何获得饼干
要了解如何获取 cookie,请查看 cookie 文档。
如何获取 user_id
要了解如何获取 user_id,请查看 user_id 文档,该文档描述了如何获取一个或多个微博用户的 user_id。
开源地址:/dataabc/wei...
有兴趣的旧熨斗不怕应用它。一是可以参考作者的编码风格,二是给刚入手或者最近入手的朋友提供一个采集数据思路。
今天的推荐,不知道大家喜不喜欢?如果喜欢,请在文章底部留言或点赞,以表示对我的支持。你们的评论、点赞、转发和关注,是我不断更新的动力,平安!
网站调用新浪微博内容(新浪微博的快速发展促进了基于微博数据的研究发展)
网站优化 • 优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-03-05 12:10
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是开展相关研究的首要问题。本文分析了新浪微博数据的爬取方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息,模拟浏览器访问新浪微博数据爬取方案,解决了不能使用新浪微博的问题开放平台API爬取微博数据的主要问题,实现的爬虫程序编程简单,性能稳定,能有效获取微博数据。
关键词:新浪微博;数据爬取;微博爬虫;Python
CLC编号: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]提供20多种接口,涵盖微博内容、评论、用户、关系等各种操作。从理论上讲,这种方法是最直接、最方便的方法。但新版微博开放界面存在一些局限性,对于小型研究团队或个人来说不是很方便,主要体现在以下几点:
(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) 模拟浏览器登录,在页面请求中添加header信息;
(4)控制微博访问频率,避免反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需要维护已爬取的URL列表和等待爬取的URL列表。获取到新的URL后,首先查看已爬取的URL列表,如果该URL不在列表中,则将其添加到待爬取的URL列表中。
2.1.3 页面加载器
页面加载器根据爬虫调度器提供的头部信息和URL管理器提供的URL向微博服务器发送请求,获取请求的HTML页面。为了避免爬取过于频繁,导致微博服务器无法及时响应,或者被服务器的反爬机制拒绝访问,页面加载器采用了定时机制来限制页面加载频率。
2.1.4 HTML 解析器
HTML 解析器解析页面加载器提供的 HTML 页面以获取所需的数据。比如微博用户发布的博文内容、转发数、点赞数、评论数等。同时,HTML解析器会将新获取的URL反馈给爬虫根据需要调度程序。
2.1.5 数据导出器
数据导出器输出由 HTML 解析器解析的数据。输出数据为JSON格式,与使用新浪微博开放平台API获取的数据格式基本一致,保证了不同爬取方式获取的数据可以统一分析处理。
2.2 模拟浏览器登录
要访问微博数据,您必须先登录。可以使用爬虫程序模拟微博用户登录[7、8]。爬虫首先向微博用户服务器发送登录请求,然后接收服务器返回的密钥,然后结合服务器返回的用户名、密码和密钥生成验证信息并登录服务器。只要保持与服务器的会话会话,就可以从服务器获取微博数据进行进一步分析。
这种方法实现起来很复杂,并且需要了解服务器身份验证信息的细节。因此,采用了另一种比较简单的做法,即本文微博爬虫的做法。首先在浏览器中登录微博,然后使用浏览器提供的开发者工具查看请求页面的请求头信息。例如,使用火狐登录微博后,可以使用火狐提供的开发者工具查看如图2所示的请求头信息。
从图2可以看出,“Referer”的内容是访问微博的URL,其中“”是当前用户在微博上的唯一标识id;“Connection”的值为“keep-alive”,标识cookie永不过期;“Cookie”的内容是成功连接微博服务器后保存在本地的cookie,可以用来简单快捷地访问新浪微博。首先需要复制“”的内容,然后在Python中定义headers对象,设置Cookie和Connection,最后每次访问微博页面时将headers作为参数添加到Request对象中,获取微博页面. 这样,在cookie的有效期内,您就可以直接访问微博,提取您需要的数据。这样,
headers = {'Cookie': '', '连接': 'keep-alive'} 查看全部
网站调用新浪微博内容(新浪微博的快速发展促进了基于微博数据的研究发展)
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是开展相关研究的首要问题。本文分析了新浪微博数据的爬取方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息,模拟浏览器访问新浪微博数据爬取方案,解决了不能使用新浪微博的问题开放平台API爬取微博数据的主要问题,实现的爬虫程序编程简单,性能稳定,能有效获取微博数据。
关键词:新浪微博;数据爬取;微博爬虫;Python
CLC编号: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]提供20多种接口,涵盖微博内容、评论、用户、关系等各种操作。从理论上讲,这种方法是最直接、最方便的方法。但新版微博开放界面存在一些局限性,对于小型研究团队或个人来说不是很方便,主要体现在以下几点:
(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) 模拟浏览器登录,在页面请求中添加header信息;
(4)控制微博访问频率,避免反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需要维护已爬取的URL列表和等待爬取的URL列表。获取到新的URL后,首先查看已爬取的URL列表,如果该URL不在列表中,则将其添加到待爬取的URL列表中。
2.1.3 页面加载器
页面加载器根据爬虫调度器提供的头部信息和URL管理器提供的URL向微博服务器发送请求,获取请求的HTML页面。为了避免爬取过于频繁,导致微博服务器无法及时响应,或者被服务器的反爬机制拒绝访问,页面加载器采用了定时机制来限制页面加载频率。
2.1.4 HTML 解析器
HTML 解析器解析页面加载器提供的 HTML 页面以获取所需的数据。比如微博用户发布的博文内容、转发数、点赞数、评论数等。同时,HTML解析器会将新获取的URL反馈给爬虫根据需要调度程序。
2.1.5 数据导出器
数据导出器输出由 HTML 解析器解析的数据。输出数据为JSON格式,与使用新浪微博开放平台API获取的数据格式基本一致,保证了不同爬取方式获取的数据可以统一分析处理。
2.2 模拟浏览器登录
要访问微博数据,您必须先登录。可以使用爬虫程序模拟微博用户登录[7、8]。爬虫首先向微博用户服务器发送登录请求,然后接收服务器返回的密钥,然后结合服务器返回的用户名、密码和密钥生成验证信息并登录服务器。只要保持与服务器的会话会话,就可以从服务器获取微博数据进行进一步分析。
这种方法实现起来很复杂,并且需要了解服务器身份验证信息的细节。因此,采用了另一种比较简单的做法,即本文微博爬虫的做法。首先在浏览器中登录微博,然后使用浏览器提供的开发者工具查看请求页面的请求头信息。例如,使用火狐登录微博后,可以使用火狐提供的开发者工具查看如图2所示的请求头信息。
从图2可以看出,“Referer”的内容是访问微博的URL,其中“”是当前用户在微博上的唯一标识id;“Connection”的值为“keep-alive”,标识cookie永不过期;“Cookie”的内容是成功连接微博服务器后保存在本地的cookie,可以用来简单快捷地访问新浪微博。首先需要复制“”的内容,然后在Python中定义headers对象,设置Cookie和Connection,最后每次访问微博页面时将headers作为参数添加到Request对象中,获取微博页面. 这样,在cookie的有效期内,您就可以直接访问微博,提取您需要的数据。这样,
headers = {'Cookie': '', '连接': 'keep-alive'}
网站调用新浪微博内容(新浪微博注册应用的一些注意事项及注意的事项)
网站优化 • 优采云 发表了文章 • 0 个评论 • 72 次浏览 • 2022-03-05 12:06
首先需要下载新浪微博的SDK,地址如下:
下载后解压,然后打开myeclipse,新建一个项目,然后将刚刚解压的文件导入到项目中。如图所示:
接下来,转到此 URL 以注册应用程序。共有三种应用程序,选择站点应用程序,然后创建应用程序。填写所有必填项。确定确认。有两点需要注意:
1.注册应用后会有App Key和App Secret,接下来会用到。
2.进入“我的应用”,选择:应用信息,
点击“编辑”,注意有两个地址:其中“申请实际地址”要认真填写。对于我来说,注意地址后面不要有“/”。现在,记住这个地址,你以后会用到它。
现在,进入myeclipse,在src下,有config.properties文件,编辑一下
client_ID 是 App 密钥。
client_SERCRET 是 App Secret
redirect_URI 是前面突出显示的地址:
保存。
接下来,我们发送一条推文:
在examples下,weibo4j.examples.oauth2包下:OAuth4Code类,直接运行:会出现应用授权页面。输入用户名和密码后,会跳转到之前填写的redirect_URI页面。如果微博信息保存在浏览器中,会直接跳转到redirect_URI页面,不经过这个页面。
跳转到redirect_URI页面后,看到URL地址栏,格式是redirect_URI?代码=xxxxxx。接下来复制代码的值,然后到myeclipse的控制台输出看看:
code=https://api.weibo.com/oauth2/a ... Dcode
Hit enter when it's done.[Enter]:
接下来,将代码粘贴到 [Enter]: 之后。进入。你会看到很多输出信息。
直接跳到最后,看access_token,这是我们需要的,记录一下。
接下来发微博:
在weibo4j.examples.timeline包下,UpdateStatus类下/
我需要传入两个参数,所以我直接写了。代码显示如下:
packageweibo4j.examples.timeline;
importweibo4j.Timeline;
importweibo4j.Weibo;
importweibo4j.examples.oauth2.Log;
importweibo4j.model.Status;
importweibo4j.model.WeiboException;
publicclassUpdateStatus {
publicstaticvoidmain(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = newWeibo();
weibo.setToken(access_token);
Timeline tm = newTimeline();
try{
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch(WeiboException e) {
e.printStackTrace();
} }
}
package weibo4j.examples.timeline;
import weibo4j.Timeline;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.Status;
import weibo4j.model.WeiboException;
public class UpdateStatus {
public static void main(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
Timeline tm = new Timeline();
try {
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch (WeiboException e) {
e.printStackTrace();
} }
}
statuses 是您要发布的内容。
这时候就可以发微博了。
有问题的留言。!
随附的:
有时,比如在使用另一个微博账号(即与注册应用不同的账号)时,会出现一些错误。错误信息:
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
eibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
weibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
解决方法:还是在我的应用里,点击“应用信息”,“测试账号”,看到有添加了一个测试账号。这时候可以添加你想发微博的账号的用户昵称,就OK了。
时间:2015-11-23 查看全部
网站调用新浪微博内容(新浪微博注册应用的一些注意事项及注意的事项)
首先需要下载新浪微博的SDK,地址如下:
下载后解压,然后打开myeclipse,新建一个项目,然后将刚刚解压的文件导入到项目中。如图所示:

接下来,转到此 URL 以注册应用程序。共有三种应用程序,选择站点应用程序,然后创建应用程序。填写所有必填项。确定确认。有两点需要注意:
1.注册应用后会有App Key和App Secret,接下来会用到。
2.进入“我的应用”,选择:应用信息,
点击“编辑”,注意有两个地址:其中“申请实际地址”要认真填写。对于我来说,注意地址后面不要有“/”。现在,记住这个地址,你以后会用到它。
现在,进入myeclipse,在src下,有config.properties文件,编辑一下
client_ID 是 App 密钥。
client_SERCRET 是 App Secret
redirect_URI 是前面突出显示的地址:
保存。
接下来,我们发送一条推文:
在examples下,weibo4j.examples.oauth2包下:OAuth4Code类,直接运行:会出现应用授权页面。输入用户名和密码后,会跳转到之前填写的redirect_URI页面。如果微博信息保存在浏览器中,会直接跳转到redirect_URI页面,不经过这个页面。
跳转到redirect_URI页面后,看到URL地址栏,格式是redirect_URI?代码=xxxxxx。接下来复制代码的值,然后到myeclipse的控制台输出看看:
code=https://api.weibo.com/oauth2/a ... Dcode
Hit enter when it's done.[Enter]:
接下来,将代码粘贴到 [Enter]: 之后。进入。你会看到很多输出信息。
直接跳到最后,看access_token,这是我们需要的,记录一下。
接下来发微博:
在weibo4j.examples.timeline包下,UpdateStatus类下/
我需要传入两个参数,所以我直接写了。代码显示如下:
packageweibo4j.examples.timeline;
importweibo4j.Timeline;
importweibo4j.Weibo;
importweibo4j.examples.oauth2.Log;
importweibo4j.model.Status;
importweibo4j.model.WeiboException;
publicclassUpdateStatus {
publicstaticvoidmain(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = newWeibo();
weibo.setToken(access_token);
Timeline tm = newTimeline();
try{
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch(WeiboException e) {
e.printStackTrace();
} }
}
package weibo4j.examples.timeline;
import weibo4j.Timeline;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.Status;
import weibo4j.model.WeiboException;
public class UpdateStatus {
public static void main(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
Timeline tm = new Timeline();
try {
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch (WeiboException e) {
e.printStackTrace();
} }
}
statuses 是您要发布的内容。
这时候就可以发微博了。
有问题的留言。!
随附的:
有时,比如在使用另一个微博账号(即与注册应用不同的账号)时,会出现一些错误。错误信息:
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
eibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
weibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
解决方法:还是在我的应用里,点击“应用信息”,“测试账号”,看到有添加了一个测试账号。这时候可以添加你想发微博的账号的用户昵称,就OK了。
时间:2015-11-23
网站调用新浪微博内容(如何在网站上调用或数据大杂烩Twitter上面的数据?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-03-05 08:09
谢谢,如果你问我怎么做
我真的没有找到更好的方法来实现这种完全相同的信息流效果,因为观察它的信息流,我会发现它不仅捕获了 Twitter 数据,还捕获了新浪微博和腾讯微博的数据。,QQ签名数据,数据交叉呈现。. . 这完全是各种 API 调用或数据抓取的大杂烩!
至于如何在网站页面调出推特账号发布的最新信息?
我隐约觉得,摆在你面前的第一道关卡就是中国的防火墙,你知道的。. . 否则,您的程序将无法捕获 Twitter 上的数据。. . 这个可以看我自己的网站强发的文章
写诗意的代码
,可以在需要的时候给你一个帮助,免费送你200M的强流量!
真正要做的事情实际上更容易!Twitter的开发者文档已经很详细了,并且给出了很详细的说明,这里是Twitter的开发文档的链接
/web/嵌入式时间线
,如果你懂英文,可以调用推特自动生成的代码或API。
呃,看到了,知乎遇到了翻江的问题,因为推特开发文档链接没有解析成页面标题,还有
siguoya.name/home/os/tools/greenvpn
被自动解析为
写诗意的代码
.
以下是当前学习和销售的内容,如有错误,请轻喷:
推特提供了四种信息流呈现形式,而新浪微博只提供了一种,而新浪微博官方声称由于用户使用较少,甚至隐藏了这个功能。我想为此给 Twitter 竖起大拇指:
No.1 嵌入式用户时间线,呈现与人相关的内容
这个表格应该是题主需要的,也是新浪微博唯一提供的表格。
点击链接
创建新的嵌入式用户时间线
创造。借此机会,我启动了 Twitter,并创建了以下信息流,对不起,只有 Hello World。. .
再说其他三种形式,具体创建方法就不讨论了,推特开发文档
/web/嵌入式时间线
里面很详细。. .
No.2 Embedded List Timeline 呈现与某个主题相关的内容
关注百度血友病的最新发展,应该很适合这种形式。. . 我没有恶意
No.3 Embedded Search Timeline 呈现 Twitter 近几周的搜索热点
和我一样,喜欢看暴走的大事件,爱八卦的可以引用这个表格
No.4 Embedded 采集 Timeline以瀑布流、大图的形式呈现,用户可自定义内容呈现顺序
这简直是为那些年长的文艺女青年量身定做,在丽江晒日光浴,在三亚晒日光浴,顺便回忆一下那些年在夕阳下奔跑的人,然后感叹,人生无非是美好。. . 哈哈哈~~
嗯,如果还有问题或者想交个朋友,可以加微信w7570061,我去追“秦时明月”,一把剑,秦出恋爱。有很多乱七八糟的。如果对你的困惑有帮助,希望你能给个赞。晚上睡觉会更香,谢谢! 查看全部
网站调用新浪微博内容(如何在网站上调用或数据大杂烩Twitter上面的数据?)
谢谢,如果你问我怎么做
我真的没有找到更好的方法来实现这种完全相同的信息流效果,因为观察它的信息流,我会发现它不仅捕获了 Twitter 数据,还捕获了新浪微博和腾讯微博的数据。,QQ签名数据,数据交叉呈现。. . 这完全是各种 API 调用或数据抓取的大杂烩!
至于如何在网站页面调出推特账号发布的最新信息?
我隐约觉得,摆在你面前的第一道关卡就是中国的防火墙,你知道的。. . 否则,您的程序将无法捕获 Twitter 上的数据。. . 这个可以看我自己的网站强发的文章
写诗意的代码
,可以在需要的时候给你一个帮助,免费送你200M的强流量!
真正要做的事情实际上更容易!Twitter的开发者文档已经很详细了,并且给出了很详细的说明,这里是Twitter的开发文档的链接
/web/嵌入式时间线
,如果你懂英文,可以调用推特自动生成的代码或API。
呃,看到了,知乎遇到了翻江的问题,因为推特开发文档链接没有解析成页面标题,还有
siguoya.name/home/os/tools/greenvpn
被自动解析为
写诗意的代码
.
以下是当前学习和销售的内容,如有错误,请轻喷:
推特提供了四种信息流呈现形式,而新浪微博只提供了一种,而新浪微博官方声称由于用户使用较少,甚至隐藏了这个功能。我想为此给 Twitter 竖起大拇指:
No.1 嵌入式用户时间线,呈现与人相关的内容

这个表格应该是题主需要的,也是新浪微博唯一提供的表格。
点击链接
创建新的嵌入式用户时间线
创造。借此机会,我启动了 Twitter,并创建了以下信息流,对不起,只有 Hello World。. .

再说其他三种形式,具体创建方法就不讨论了,推特开发文档
/web/嵌入式时间线
里面很详细。. .
No.2 Embedded List Timeline 呈现与某个主题相关的内容

关注百度血友病的最新发展,应该很适合这种形式。. . 我没有恶意
No.3 Embedded Search Timeline 呈现 Twitter 近几周的搜索热点

和我一样,喜欢看暴走的大事件,爱八卦的可以引用这个表格
No.4 Embedded 采集 Timeline以瀑布流、大图的形式呈现,用户可自定义内容呈现顺序

这简直是为那些年长的文艺女青年量身定做,在丽江晒日光浴,在三亚晒日光浴,顺便回忆一下那些年在夕阳下奔跑的人,然后感叹,人生无非是美好。. . 哈哈哈~~
嗯,如果还有问题或者想交个朋友,可以加微信w7570061,我去追“秦时明月”,一把剑,秦出恋爱。有很多乱七八糟的。如果对你的困惑有帮助,希望你能给个赞。晚上睡觉会更香,谢谢!
网站调用新浪微博内容(Xweibo互通畅游微博世界1.可单独使用新浪微博登录登录)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-03-04 09:11
微博是基于新浪微博API开发的免费微博程序。新浪微博是一个开源解决方案,可以在自己的服务器上搭建微博系统。微博基于新浪开放的API,可以通过绑定新浪微博账号实现与新浪微博的无缝对接。拥有目前微博流行的各种丰富功能,长期将与新浪微博全面同步,提供永久升级服务支持。同时提供强大的管理后台,可以为客户提供新的运营支撑,让运营商可以向用户推送内容,与用户进行全方位的互动。微博是完全免费和开源的。如果不能完全满足客户的需求,客户可以自由修改或者给我们提出宝贵的建议,
微博账号,畅游微博世界
1.你可以单独用你的新浪微博账号登录。
2.您可以单独使用网站原创帐户登录。
3.支持网站已有账号和新浪微博账号选择登录。
4.分享新浪微博的海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,获得营销推广机会,与新浪微博共同成长。
微博高效运营管理平台
1.用户认证系统:支持新浪认证、网站认证、新浪认证、网站双重认证切换。
2.内容推荐:根据需要以多种形式推荐用户和话题。
3.界面管理:模板设置,可选两栏或三栏模板。
4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义微博或评论;支持屏蔽用户,支持屏蔽指定用户。
5.换肤机制:灵活的换肤机制,提供多套炫丽皮肤,可定制。
6.异地调用功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的调用,丰富网站其他页面内容。
7.互动模块:活动、直播、现场采访。
8.扩展设置:焦点、配置文件、页眉和页脚的推荐设置。
9.搜索功能:提供用户和微博的综合搜索。
10.数据隔离:您可以选择只显示来自该站点的数据。
11.单个页面可以添加多个同类型组件的功能。
12.更多个性化设置:短链接、个性化域名。
微博完整的内容审核保障信息安全
1.本地数据备份。
2.六层信息安全审计机制:
第一层:用户筛选和屏蔽。
第二层:非法信息发布过滤(新浪微博帮你完成)。
第三层:人工审核信息审核(新浪微博庞大的24小时内容监控团队帮你完成)。
四楼:网站运营商实时排查(微博管理后台可以实时查看网站发的微博并屏蔽)。
第五层:关键词二次过滤(可以在微博管理后台设置关键词过滤)。
第6层:非法消息反馈和删除渠道(可以使用新浪微博举报功能举报需要删除的微博内容)。
微博多个版本
1.支持手机WAP接入。
2.WEB页面信息实时同步,尽享掌上微博乐趣。
WAP不需要设置,直接读取WEB管理后台设置。
推荐配置:Linux + Apache + Mysql + PHP
操作系统:Linux(支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统)
WEB服务器:Apache(支持httpd、Zeus、IIS等WEB服务器)
程序支持:PHP4.3.0及以上(推荐使用5.2系列最新版本) 查看全部
网站调用新浪微博内容(Xweibo互通畅游微博世界1.可单独使用新浪微博登录登录)
微博是基于新浪微博API开发的免费微博程序。新浪微博是一个开源解决方案,可以在自己的服务器上搭建微博系统。微博基于新浪开放的API,可以通过绑定新浪微博账号实现与新浪微博的无缝对接。拥有目前微博流行的各种丰富功能,长期将与新浪微博全面同步,提供永久升级服务支持。同时提供强大的管理后台,可以为客户提供新的运营支撑,让运营商可以向用户推送内容,与用户进行全方位的互动。微博是完全免费和开源的。如果不能完全满足客户的需求,客户可以自由修改或者给我们提出宝贵的建议,
微博账号,畅游微博世界
1.你可以单独用你的新浪微博账号登录。
2.您可以单独使用网站原创帐户登录。
3.支持网站已有账号和新浪微博账号选择登录。
4.分享新浪微博的海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,获得营销推广机会,与新浪微博共同成长。
微博高效运营管理平台
1.用户认证系统:支持新浪认证、网站认证、新浪认证、网站双重认证切换。
2.内容推荐:根据需要以多种形式推荐用户和话题。
3.界面管理:模板设置,可选两栏或三栏模板。
4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义微博或评论;支持屏蔽用户,支持屏蔽指定用户。
5.换肤机制:灵活的换肤机制,提供多套炫丽皮肤,可定制。
6.异地调用功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的调用,丰富网站其他页面内容。
7.互动模块:活动、直播、现场采访。
8.扩展设置:焦点、配置文件、页眉和页脚的推荐设置。
9.搜索功能:提供用户和微博的综合搜索。
10.数据隔离:您可以选择只显示来自该站点的数据。
11.单个页面可以添加多个同类型组件的功能。
12.更多个性化设置:短链接、个性化域名。
微博完整的内容审核保障信息安全
1.本地数据备份。
2.六层信息安全审计机制:
第一层:用户筛选和屏蔽。
第二层:非法信息发布过滤(新浪微博帮你完成)。
第三层:人工审核信息审核(新浪微博庞大的24小时内容监控团队帮你完成)。
四楼:网站运营商实时排查(微博管理后台可以实时查看网站发的微博并屏蔽)。
第五层:关键词二次过滤(可以在微博管理后台设置关键词过滤)。
第6层:非法消息反馈和删除渠道(可以使用新浪微博举报功能举报需要删除的微博内容)。
微博多个版本
1.支持手机WAP接入。
2.WEB页面信息实时同步,尽享掌上微博乐趣。
WAP不需要设置,直接读取WEB管理后台设置。
推荐配置:Linux + Apache + Mysql + PHP
操作系统:Linux(支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统)
WEB服务器:Apache(支持httpd、Zeus、IIS等WEB服务器)
程序支持:PHP4.3.0及以上(推荐使用5.2系列最新版本)
网站调用新浪微博内容(【干货】新浪微博开放平台不是的总结及解决办法!)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-03-04 09:09
这几天,我正在添加一个模块并在新浪微博上分享。一般来说,这并不难,但我还是会遇到一些问题。现在总结记录,分享一下自己的经验。养成良好的总结习惯比盲目地写代码更重要。
首先,作为一个开发者,你必须有一个新浪微博账号,否则你不能算是真正的开发者,如果你连微博都不玩,你也算不上掉丝。停止胡说八道,走上正轨。在新浪微博开放平台新浪微博上,当你创建应用程序时,系统会给你分配appkey和appsecret,以及回调kAPPRedirectURL,前两个是必需的,appkey用于认证,appsecret用于生成请求的requestToken,还有几个名词AccessToken来表示用户的身份,用于微博API调用,ExparitionDate用于判断登录是否过期。RedirectUrl 应用回调页面,但我不明白它有多大用处。我在应用程序中使用了回调页面的 url,但它不起作用。后来用了百度url,还是可行的,需要研究。ssoCallBackScheme为sso回调地址,客户端登录后回调。
第二步,下载sdk和文档,参考sdk自带的demo,有详细介绍。当然,具体的需求还是需要灵活的。按照demo给出的例子,基本可以登录微博了。有两种情况,有新浪微博客户端,没有新浪微博客户端。
第三步:首先将sinWeibo和JosKit这两个文件夹导入到你的项目中。注意不要只引用,而是复制一份添加到项目目录中,否则如果更改项目路径会报错。然后按照demo里一步一步来,里面涉及到sso回调和auoth2.0机制,那么这两者有什么区别,sso回调,其实sdk会自动判断是否有新浪微博客户端如果有则唤醒客户端,否则会去auoth2.0,用自己的浏览器打开网页登录。
第四步:登录成功后,在代理对象中实现协议中的回调方法,等待回调结果。回调有两种类型,登录登录回调和 weiboRequest 回调结果。您可以分别监控这两个回调,并进行不同的处理。
基本流程是这样的。感觉sinaWeibo的SDK写的真好,封装的很强大。这也是未来需要积累的方向,整体结构包装的技巧。 查看全部
网站调用新浪微博内容(【干货】新浪微博开放平台不是的总结及解决办法!)
这几天,我正在添加一个模块并在新浪微博上分享。一般来说,这并不难,但我还是会遇到一些问题。现在总结记录,分享一下自己的经验。养成良好的总结习惯比盲目地写代码更重要。
首先,作为一个开发者,你必须有一个新浪微博账号,否则你不能算是真正的开发者,如果你连微博都不玩,你也算不上掉丝。停止胡说八道,走上正轨。在新浪微博开放平台新浪微博上,当你创建应用程序时,系统会给你分配appkey和appsecret,以及回调kAPPRedirectURL,前两个是必需的,appkey用于认证,appsecret用于生成请求的requestToken,还有几个名词AccessToken来表示用户的身份,用于微博API调用,ExparitionDate用于判断登录是否过期。RedirectUrl 应用回调页面,但我不明白它有多大用处。我在应用程序中使用了回调页面的 url,但它不起作用。后来用了百度url,还是可行的,需要研究。ssoCallBackScheme为sso回调地址,客户端登录后回调。
第二步,下载sdk和文档,参考sdk自带的demo,有详细介绍。当然,具体的需求还是需要灵活的。按照demo给出的例子,基本可以登录微博了。有两种情况,有新浪微博客户端,没有新浪微博客户端。
第三步:首先将sinWeibo和JosKit这两个文件夹导入到你的项目中。注意不要只引用,而是复制一份添加到项目目录中,否则如果更改项目路径会报错。然后按照demo里一步一步来,里面涉及到sso回调和auoth2.0机制,那么这两者有什么区别,sso回调,其实sdk会自动判断是否有新浪微博客户端如果有则唤醒客户端,否则会去auoth2.0,用自己的浏览器打开网页登录。
第四步:登录成功后,在代理对象中实现协议中的回调方法,等待回调结果。回调有两种类型,登录登录回调和 weiboRequest 回调结果。您可以分别监控这两个回调,并进行不同的处理。
基本流程是这样的。感觉sinaWeibo的SDK写的真好,封装的很强大。这也是未来需要积累的方向,整体结构包装的技巧。
网站调用新浪微博内容(新浪微博用户日益增加,有时候会考虑在自己的网站中整合)
网站优化 • 优采云 发表了文章 • 0 个评论 • 63 次浏览 • 2022-03-04 09:09
随着新浪微博用户数量的增加,我们有时会考虑将新浪微博整合到我们的网站中。比如我现在的独立博客。
我博客中的整合主要有以下几个方面:我写了一篇文章文章,会同步发到微博。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
新浪微博开放平台地址在这里。文档地址在这里。
首先要涉及的问题是用户用自己的新浪微博账号登录的问题,也就是授权机制。有两种基本方法:
OAuthBasic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth。因此,这种方法不再讨论,实际上需要用户名和密码的方法本质上是不安全的。)
OAuth新浪官方文档在这里。如果想了解OAuth技术说明,可以访问官方网站。
其实OAuth的过程还是很简单的。大致如下:
调用 API 获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。向新浪微博交换请求令牌以获得访问令牌。结束。
大致了解了OAuth的原理后,既然我们是集成到Django中的,自然需要下载。
不过,在这一切开始之前,您必须向新浪微博申请您的应用程序。申请地址在这里。这里需要强调的是,应用以后需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。(在这个例子中,我们的分类是 Collaboration网站。)
申请完成后,您将获得您的应用程序的 App Key 和 App Secret。
回到授权用户登录的主题。要允许新浪微博帐号访问,首先我们需要在 urlpatterns 中添加几个 URL。如下:
urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
接下来,我们启动视图文件。代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""
from django.http import HttpResponseRedirect
from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth
consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret
class WebOAuthHandler(OAuthHandler):
def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()
# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)
def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url
def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)
def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url
# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)
def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']
auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token
# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)
def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
完成授权码之后,我们就需要知道怎么给新浪微博发消息了。其实下载的SDK下的exanples文件夹下的examples(是的,其实就是examples,这个英文水平不能抱怨),修改后直接使用即可。以 oauthSetTokenUpdate.py 为例,我们可以这样写:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)
status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
运行这个程序会提示一个 URL 链接,在浏览器中打开链接,并授予访问权限,你会得到一串 PIN 码。输入此 PIN 并发送推送,并且还将显示用户的访问令牌密钥和访问令牌密码。
但是,这样做是不是有点太书呆子了?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)
status = api.update_status(status='搞定收工~')
这时候我们可以重构代码,写一个微博类来实现以上功能,实现一些api操作。
class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''
def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''
def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)
def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)
def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id
def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id
def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid
def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid
def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid
def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
不知道读者是否还记得我们上面授权部分的代码。在login_check方法代码中,有这么一句话。
request.session['oauth_access_token'] = access_token
授权用户的 access_token 已存储在 session 变量中。因此,当用户授权完成后,我们可以直接使用 session 中存储的 access_token,如下所示:
access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
上面的例子中只用到了一些 API,完整的 API 手册可以在这里找到。
最后,本文参考了两篇文章文章:《django接入新浪微博OAuth》、《Python for新浪微博API开发介绍》 查看全部
网站调用新浪微博内容(新浪微博用户日益增加,有时候会考虑在自己的网站中整合)
随着新浪微博用户数量的增加,我们有时会考虑将新浪微博整合到我们的网站中。比如我现在的独立博客。
我博客中的整合主要有以下几个方面:我写了一篇文章文章,会同步发到微博。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
新浪微博开放平台地址在这里。文档地址在这里。
首先要涉及的问题是用户用自己的新浪微博账号登录的问题,也就是授权机制。有两种基本方法:
OAuthBasic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth。因此,这种方法不再讨论,实际上需要用户名和密码的方法本质上是不安全的。)
OAuth新浪官方文档在这里。如果想了解OAuth技术说明,可以访问官方网站。
其实OAuth的过程还是很简单的。大致如下:
调用 API 获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。向新浪微博交换请求令牌以获得访问令牌。结束。
大致了解了OAuth的原理后,既然我们是集成到Django中的,自然需要下载。
不过,在这一切开始之前,您必须向新浪微博申请您的应用程序。申请地址在这里。这里需要强调的是,应用以后需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。(在这个例子中,我们的分类是 Collaboration网站。)
申请完成后,您将获得您的应用程序的 App Key 和 App Secret。
回到授权用户登录的主题。要允许新浪微博帐号访问,首先我们需要在 urlpatterns 中添加几个 URL。如下:
urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
接下来,我们启动视图文件。代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""
from django.http import HttpResponseRedirect
from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth
consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret
class WebOAuthHandler(OAuthHandler):
def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()
# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)
def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url
def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)
def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url
# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)
def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']
auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token
# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)
def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
完成授权码之后,我们就需要知道怎么给新浪微博发消息了。其实下载的SDK下的exanples文件夹下的examples(是的,其实就是examples,这个英文水平不能抱怨),修改后直接使用即可。以 oauthSetTokenUpdate.py 为例,我们可以这样写:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)
status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
运行这个程序会提示一个 URL 链接,在浏览器中打开链接,并授予访问权限,你会得到一串 PIN 码。输入此 PIN 并发送推送,并且还将显示用户的访问令牌密钥和访问令牌密码。
但是,这样做是不是有点太书呆子了?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)
status = api.update_status(status='搞定收工~')
这时候我们可以重构代码,写一个微博类来实现以上功能,实现一些api操作。
class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''
def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''
def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)
def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)
def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id
def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id
def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid
def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid
def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid
def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
不知道读者是否还记得我们上面授权部分的代码。在login_check方法代码中,有这么一句话。
request.session['oauth_access_token'] = access_token
授权用户的 access_token 已存储在 session 变量中。因此,当用户授权完成后,我们可以直接使用 session 中存储的 access_token,如下所示:
access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
上面的例子中只用到了一些 API,完整的 API 手册可以在这里找到。
最后,本文参考了两篇文章文章:《django接入新浪微博OAuth》、《Python for新浪微博API开发介绍》
网站调用新浪微博内容(网站调用新浪微博内容时的最新消息和错误信息判断)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2022-03-03 19:02
网站调用新浪微博内容时,如果后端直接返回最新的消息,而不区分用户,那么微博数据库处理时就会产生失效。微博上已有的新内容将因此失效。因此,调用到微博中的新内容都应由客户端获取相应的版本号来区分用户,新的消息由后端新浪微博服务器以内容组方式返回给客户端,客户端根据客户端接受到的最新消息和错误信息判断接受哪些新内容(最新内容可以是最旧的内容)。
我们通常用的错误消息来源有两种:1、来自微博客户端(ui调用消息服务器,加载、显示消息,删除已获取的消息等);2、来自浏览器(内容组通过返回给浏览器的错误消息,最短的通知的消息)。
网页发布的微博数据的时效性问题,是网站的一个痛点,会造成不良的用户体验,原因有以下三个:1.发布的网页页面没有提供显示微博链接2.网页调用的微博数据并不是最新的3.新浪微博内容组获取发布的微博内容,是存在一个过程,那这个过程就是流量分发的一部分(你懂的,人家搜索引擎提供抓取到的,)所以发布的网页是有时效性要求的,那如何应对这个问题,就要做一个这样的功能,微博数据订阅,订阅的时候,有一个最新内容的源和最新内容最近的库,发布后,如果有新内容,那么将从库里面选择出来,然后一定给订阅的人发送一条最新的,如果没有,那么重新订阅下一条内容,这样一来,当有新内容时,对应页面下会有提示不要错过。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容时的最新消息和错误信息判断)
网站调用新浪微博内容时,如果后端直接返回最新的消息,而不区分用户,那么微博数据库处理时就会产生失效。微博上已有的新内容将因此失效。因此,调用到微博中的新内容都应由客户端获取相应的版本号来区分用户,新的消息由后端新浪微博服务器以内容组方式返回给客户端,客户端根据客户端接受到的最新消息和错误信息判断接受哪些新内容(最新内容可以是最旧的内容)。
我们通常用的错误消息来源有两种:1、来自微博客户端(ui调用消息服务器,加载、显示消息,删除已获取的消息等);2、来自浏览器(内容组通过返回给浏览器的错误消息,最短的通知的消息)。
网页发布的微博数据的时效性问题,是网站的一个痛点,会造成不良的用户体验,原因有以下三个:1.发布的网页页面没有提供显示微博链接2.网页调用的微博数据并不是最新的3.新浪微博内容组获取发布的微博内容,是存在一个过程,那这个过程就是流量分发的一部分(你懂的,人家搜索引擎提供抓取到的,)所以发布的网页是有时效性要求的,那如何应对这个问题,就要做一个这样的功能,微博数据订阅,订阅的时候,有一个最新内容的源和最新内容最近的库,发布后,如果有新内容,那么将从库里面选择出来,然后一定给订阅的人发送一条最新的,如果没有,那么重新订阅下一条内容,这样一来,当有新内容时,对应页面下会有提示不要错过。
网站调用新浪微博内容(ForkMeThePython阅读全文大公司都有哪些开源项目~~)
网站优化 • 优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2022-03-03 04:10
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践
推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
开发者必看!探索阿里云大购季开发者分支:海量学习资源0元起!
作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python爬虫框架-PySpider
作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!
作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python 资源
作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是初学者必备的官方教程。本教程适用于Python2.< @k31@ > Series X. 在线阅读 » Fork Me » Python
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等
作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ ------------- ------------------------------------- ------------- -------- 奇虎 36
阅读全文
程序员的技术练级策略
作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障
作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python应用与实践【转】
作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文 查看全部
网站调用新浪微博内容(ForkMeThePython阅读全文大公司都有哪些开源项目~~)
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践

推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
开发者必看!探索阿里云大购季开发者分支:海量学习资源0元起!


作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python爬虫框架-PySpider


作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!


作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python 资源


作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是初学者必备的官方教程。本教程适用于Python2.< @k31@ > Series X. 在线阅读 » Fork Me » Python
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等


作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ ------------- ------------------------------------- ------------- -------- 奇虎 36
阅读全文
程序员的技术练级策略


作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障


作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python应用与实践【转】


作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文
网站调用新浪微博内容(两个大V爬了超70W的微博数据(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 80 次浏览 • 2022-03-01 16:06
最近写了一些微博爬虫,用于事件分析。两大V一共爬取了超过70W的微博数据。
官方API的爬取数上限为2000。你要爬的数据太大,不够用……
卷起袖子,自己动手吧!让我简单解释一下我的想法:
一、目标选择
在确定爬取对象时,如果可以满足移动终端显示的数据,则优先选择移动终端。难度要低很多。
二、分析目标网站
在开始构建爬虫之前,需要了解目标的结构网站以及数据是如何传输的。
以这个爬取对象为例:
在开发者模式下,你可以找到构建页面内容的包。 Request URL是页面数据api接口。滚动并加载几页后,您可以找到该模式。
这里 page = 2 控制要滚动的页数。通过构建页面链接,可以抓取微博大V的所有微博数据。
内容类型:应用程序/json; charset=utf-8 表示通过json返回页面数据,编码类型为utf-8。
然后分析json包,里面收录很多数据集,找到你需要的即可:
id是构建某条微博评论链接的关键数据。如果要爬取特定微博下的评论数据,需要使用id值来构造评论页链接。正常感知数据:可直接获取微博内容、评论数、点赞数、分享数、发布时间和来源。
页面分析差不多完成了,可以开始构建微博爬虫了。
三、模拟浏览器请求
正常抓取微博时,需要先登录。在这里您可以使用 post 请求来传递帐户和密码。也可以在浏览器登录后直接使用登录的api链接构造请求头,然后使用get方法进行请求。
这次是以第二种方式实现的。模拟请求头时,只需构造'User-Agent'和'Referer'两组信息即可。
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息',
})
这两组信息都可以在此页面的开发者模式下获得:
(个人信息我已经画好了……)
构造请求头后,使用requests库模拟请求,请求成功网站服务器识别模拟浏览器请求,返回网站的json数据,然后解析通过python json库。
目前的代码是:
# * coding:utf-8 * #声明程序的书写字符
导入请求 #import 请求库
import json #import json 库
def get_data(url):
for a in range (0,560): #通过不断传入参数a来构造链接页码
url = '上面得到的页面链接'+str(a)
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息'})
data = requests.get(url,headers=header,timeout=10) #通过requests的get方法请求
data = json.loads(data.text) #解析json数据
四、数据清洗
拿到json数据后,需要对数据进行清洗,过滤掉想要的字段信息。
再次分析json返回的数据,所有微博内容都放在字典数据下的['cards']中,根据层级关系取出即可。
每个页面会返回10条微博内容,从每个页面的['cards']中依次取出:
对于范围内的 i(0,10):
text = data['data']['cards'][i]['mblog']['text'].strip() #抓取每个页面的所有微博内容
其他数据可按上述方法依次获取,此处不再赘述。
将爬取的数据写入数据库:
如果要爬取每条微博下的所有评论内容,需要先构建评论链接,然后依次请求这些链接。背后的思路类似于爬取微博内容。
刚起步,急需各种呵护~! o(* ̄▽ ̄*)ブ~~ 查看全部
网站调用新浪微博内容(两个大V爬了超70W的微博数据(组图))
最近写了一些微博爬虫,用于事件分析。两大V一共爬取了超过70W的微博数据。
官方API的爬取数上限为2000。你要爬的数据太大,不够用……
卷起袖子,自己动手吧!让我简单解释一下我的想法:
一、目标选择
在确定爬取对象时,如果可以满足移动终端显示的数据,则优先选择移动终端。难度要低很多。
二、分析目标网站
在开始构建爬虫之前,需要了解目标的结构网站以及数据是如何传输的。
以这个爬取对象为例:
在开发者模式下,你可以找到构建页面内容的包。 Request URL是页面数据api接口。滚动并加载几页后,您可以找到该模式。
这里 page = 2 控制要滚动的页数。通过构建页面链接,可以抓取微博大V的所有微博数据。
内容类型:应用程序/json; charset=utf-8 表示通过json返回页面数据,编码类型为utf-8。
然后分析json包,里面收录很多数据集,找到你需要的即可:
id是构建某条微博评论链接的关键数据。如果要爬取特定微博下的评论数据,需要使用id值来构造评论页链接。正常感知数据:可直接获取微博内容、评论数、点赞数、分享数、发布时间和来源。
页面分析差不多完成了,可以开始构建微博爬虫了。
三、模拟浏览器请求
正常抓取微博时,需要先登录。在这里您可以使用 post 请求来传递帐户和密码。也可以在浏览器登录后直接使用登录的api链接构造请求头,然后使用get方法进行请求。
这次是以第二种方式实现的。模拟请求头时,只需构造'User-Agent'和'Referer'两组信息即可。
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息',
})
这两组信息都可以在此页面的开发者模式下获得:
(个人信息我已经画好了……)
构造请求头后,使用requests库模拟请求,请求成功网站服务器识别模拟浏览器请求,返回网站的json数据,然后解析通过python json库。
目前的代码是:
# * coding:utf-8 * #声明程序的书写字符
导入请求 #import 请求库
import json #import json 库
def get_data(url):
for a in range (0,560): #通过不断传入参数a来构造链接页码
url = '上面得到的页面链接'+str(a)
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息'})
data = requests.get(url,headers=header,timeout=10) #通过requests的get方法请求
data = json.loads(data.text) #解析json数据
四、数据清洗
拿到json数据后,需要对数据进行清洗,过滤掉想要的字段信息。
再次分析json返回的数据,所有微博内容都放在字典数据下的['cards']中,根据层级关系取出即可。
每个页面会返回10条微博内容,从每个页面的['cards']中依次取出:
对于范围内的 i(0,10):
text = data['data']['cards'][i]['mblog']['text'].strip() #抓取每个页面的所有微博内容
其他数据可按上述方法依次获取,此处不再赘述。
将爬取的数据写入数据库:
如果要爬取每条微博下的所有评论内容,需要先构建评论链接,然后依次请求这些链接。背后的思路类似于爬取微博内容。
刚起步,急需各种呵护~! o(* ̄▽ ̄*)ブ~~
网站调用新浪微博内容(python移动端微博信息及用户信息_sina_selenium)
网站优化 • 优采云 发表了文章 • 0 个评论 • 124 次浏览 • 2022-03-01 07:08
Python新浪微博爬虫,爬取微博和用户信息(含源码和示例)
这是新浪微博爬虫,使用python+selenium实现。免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但至少可以运行。同时rar收录源码和爬取示例。参考我的文章:【python爬虫】Selenium爬取新浪微博内容和用户信息【Python爬虫】Selenium爬取新浪微博客户端用户信息、热门话题和评论(上)主要爬取内容包括:新浪微博手机终端用户信息和微博信息。用户信息:包括用户ID、用户名、微博数、关注数、关注数等微博信息:包括转发或原创、点赞数、转发数、评论数、发布时间、微博内容等安装过程:1. 先安装Python环境,作者是Python2.7.82.然后安装pIP或者easy_install3.通过命令pip install selenium安装selenium,是一个工具进行自动测试和爬取4.然后修改代码中的用户名和密码,填写自己的用户名和密码5.运行程序,自动调用火狐浏览器登录微博注意:移动端信息比较精致简洁,对动态加载没有一些限制,但是只显示微博或者粉丝id等20个页面,这是它的缺点;虽然客户端可能有动态加载,比如评论和微博,但它的信息更完整。【源码】抓取手机端微博信息spider_selenium_sina_content。
立即下载 查看全部
网站调用新浪微博内容(python移动端微博信息及用户信息_sina_selenium)
Python新浪微博爬虫,爬取微博和用户信息(含源码和示例)
这是新浪微博爬虫,使用python+selenium实现。免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但至少可以运行。同时rar收录源码和爬取示例。参考我的文章:【python爬虫】Selenium爬取新浪微博内容和用户信息【Python爬虫】Selenium爬取新浪微博客户端用户信息、热门话题和评论(上)主要爬取内容包括:新浪微博手机终端用户信息和微博信息。用户信息:包括用户ID、用户名、微博数、关注数、关注数等微博信息:包括转发或原创、点赞数、转发数、评论数、发布时间、微博内容等安装过程:1. 先安装Python环境,作者是Python2.7.82.然后安装pIP或者easy_install3.通过命令pip install selenium安装selenium,是一个工具进行自动测试和爬取4.然后修改代码中的用户名和密码,填写自己的用户名和密码5.运行程序,自动调用火狐浏览器登录微博注意:移动端信息比较精致简洁,对动态加载没有一些限制,但是只显示微博或者粉丝id等20个页面,这是它的缺点;虽然客户端可能有动态加载,比如评论和微博,但它的信息更完整。【源码】抓取手机端微博信息spider_selenium_sina_content。
立即下载
网站调用新浪微博内容(阿里云gt云栖主题地图:新浪微博api获取数据(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 81 次浏览 • 2022-02-27 21:09
阿里云 > 云栖社区 > 主题地图 > X > 新浪微博api获取数据
推荐活动:
更多优惠>
当前话题:新浪微博api获取数据加入采集
相关话题:
新浪微博api获取数据相关博客看更多博文
使用新浪微博API的Search接口做微博锐排
作者:郑云1802浏览量:05年前
郑云20100929申请入口:简单介绍一下我们的榜单与新浪自己的热门转发榜单的区别:微博睿推榜单会忽略名人推文,更关注草根推文,更关注社会民生推文,屏蔽非- 有营养的推文。微博锐推列表将汇总以新浪微博为首的国内主要微博网站的信息
阅读全文
iOS:新浪微博OAuth认证
作者:犹豫1185查看评论:04年前
新浪微博OAuth认证1、资源授权•在腾讯、新浪等互联网行业,用户群体非常庞大•有时需要共享一些用户资源,比如第三方想要访问用户的QQ数据,第三方想要访问用户的新浪微博数据 • 如果要共享用户资源,必须征得用户的同意,那么这里就有资源。
阅读全文
新浪微博发展(一)
作者:nothingfinal1071 浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台老API中的PHP例程
作者:何立坚 1019 浏览评论:010年前
相关文章:一、PHP+新浪微博开放平台+新浪云平台(SAE)解决方案基础二、微博应用搭建流程三、PHP中的demo程序SDK简析四、进一步学习趋势和有用资源五、必须说明的几个问题【PDF全文下载】本文是新浪微博老API中的一个PHP例程,可以用作起点
阅读全文
新浪微博发展(一)
作者:xumaojun1002人浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台开发步骤介绍(适合新手)
作者:技术组合950人查看评论数:04年前
我也是新手,第一次使用开放平台进行开发。起初,我觉得我无处可去。经过长时间的摸索,终于成功调用了API。现在把这段经历介绍给新手(高手不用看,当然如果大家能提出一些意见和建议,非常感谢),也想和大家交流。本示例介绍如何使用 API 提交数据(发布微
阅读全文
开放平台:新浪微博 for iOS
作者:余书仪 845 浏览评论:09年前
简介:新浪微博几乎打通了所有平台数据的API接口。所以很多优秀的第三方微博客户端在功能上都非常全面。通过 SNS 进行分享和推广的方式已经在 App 世界中使用。它很常见,随处可见。本文主要介绍App与新浪微博的关联方式。参考:1.开发
阅读全文
Python调用微博API获取微博内容
作者:745 浏览评论:05年前
1:获取app-key和app-secret 用自己的微博账号()登录微博开放平台,在微博开放中心下的“创建应用”下创建应用。随意填写申请信息。填写后就不需要了。提交审核,只需要那个app-ke
阅读全文 查看全部
网站调用新浪微博内容(阿里云gt云栖主题地图:新浪微博api获取数据(组图))
阿里云 > 云栖社区 > 主题地图 > X > 新浪微博api获取数据

推荐活动:
更多优惠>
当前话题:新浪微博api获取数据加入采集
相关话题:
新浪微博api获取数据相关博客看更多博文
使用新浪微博API的Search接口做微博锐排

作者:郑云1802浏览量:05年前
郑云20100929申请入口:简单介绍一下我们的榜单与新浪自己的热门转发榜单的区别:微博睿推榜单会忽略名人推文,更关注草根推文,更关注社会民生推文,屏蔽非- 有营养的推文。微博锐推列表将汇总以新浪微博为首的国内主要微博网站的信息
阅读全文
iOS:新浪微博OAuth认证


作者:犹豫1185查看评论:04年前
新浪微博OAuth认证1、资源授权•在腾讯、新浪等互联网行业,用户群体非常庞大•有时需要共享一些用户资源,比如第三方想要访问用户的QQ数据,第三方想要访问用户的新浪微博数据 • 如果要共享用户资源,必须征得用户的同意,那么这里就有资源。
阅读全文
新浪微博发展(一)


作者:nothingfinal1071 浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台老API中的PHP例程

作者:何立坚 1019 浏览评论:010年前
相关文章:一、PHP+新浪微博开放平台+新浪云平台(SAE)解决方案基础二、微博应用搭建流程三、PHP中的demo程序SDK简析四、进一步学习趋势和有用资源五、必须说明的几个问题【PDF全文下载】本文是新浪微博老API中的一个PHP例程,可以用作起点
阅读全文
新浪微博发展(一)


作者:xumaojun1002人浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台开发步骤介绍(适合新手)


作者:技术组合950人查看评论数:04年前
我也是新手,第一次使用开放平台进行开发。起初,我觉得我无处可去。经过长时间的摸索,终于成功调用了API。现在把这段经历介绍给新手(高手不用看,当然如果大家能提出一些意见和建议,非常感谢),也想和大家交流。本示例介绍如何使用 API 提交数据(发布微
阅读全文
开放平台:新浪微博 for iOS

作者:余书仪 845 浏览评论:09年前
简介:新浪微博几乎打通了所有平台数据的API接口。所以很多优秀的第三方微博客户端在功能上都非常全面。通过 SNS 进行分享和推广的方式已经在 App 世界中使用。它很常见,随处可见。本文主要介绍App与新浪微博的关联方式。参考:1.开发
阅读全文
Python调用微博API获取微博内容


作者:745 浏览评论:05年前
1:获取app-key和app-secret 用自己的微博账号()登录微博开放平台,在微博开放中心下的“创建应用”下创建应用。随意填写申请信息。填写后就不需要了。提交审核,只需要那个app-ke
阅读全文
网站调用新浪微博内容(阿里云Hi购季云栖社区gtgt主题地图(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-27 21:07
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践
推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
程序员的技术练级策略
作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!
作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
开发者必看!探索阿里云大购季开发者分支:0元起海量学习资源!
作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等
作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ --- ------------------------------------------------------------ -----------奇虎36
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障
作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python爬虫框架-PySpider
作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
Python 资源
作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是Python初学者必备的官方教程。本教程适用于Python2. 7.@ > X 系列。在线阅读 » Fork Me » The Python
阅读全文
Python应用与实践【转】
作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文 查看全部
网站调用新浪微博内容(阿里云Hi购季云栖社区gtgt主题地图(组图))
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践

推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
程序员的技术练级策略


作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!


作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
开发者必看!探索阿里云大购季开发者分支:0元起海量学习资源!


作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等


作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ --- ------------------------------------------------------------ -----------奇虎36
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障


作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python爬虫框架-PySpider


作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
Python 资源


作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是Python初学者必备的官方教程。本教程适用于Python2. 7.@ > X 系列。在线阅读 » Fork Me » The Python
阅读全文
Python应用与实践【转】


作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 93 次浏览 • 2022-02-26 12:06
这几天为了发论文,需要采集新浪微博的用户关系信息,形成一个复杂网络的结构图。好在微博提供了一个API供我们调用。折腾了一天,终于有了小收获。总结如下:
1.下载SDK
如果使用python调用API,必须先到下一个Python SDK,sinweibopy
连接地址在这里:
可以使用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是上一篇中分配给各个应用的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,但可以随便设置。
更恶心的是代码的获取。第一次看sinweibopy的文档的时候没明白什么意思。如上代码所示,获取到的url是一个授权的网站。
webbrowser.open_new(url)
这行代码打开浏览器跳转到授权的界面,然后观察其所在界面的URL,会显示大致相同的格式如下:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有一个code=...,就是把等号后面的字符串复制过来赋值给代码,但是每次运行程序,代码都不是静态的,也就是说必须有每次都是这样的手册。收购过程对我来说很麻烦。以后自己研究,实现自动取码。谁能告诉我,不胜感激~
好了,拿到正确的代码后,就可以完成授权认证了,可以调用微博的API了。至于Python下怎么调用,我复制一下sinweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source:字符串,OAuth授权方式不需要该参数,其他授权方式需要。值是 AppKey?的应用程序。
access_token:字符串,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是文件还是字段。您可以通过 StringIO 将 str 包装到类似文件的对象中 查看全部
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
这几天为了发论文,需要采集新浪微博的用户关系信息,形成一个复杂网络的结构图。好在微博提供了一个API供我们调用。折腾了一天,终于有了小收获。总结如下:
1.下载SDK
如果使用python调用API,必须先到下一个Python SDK,sinweibopy
连接地址在这里:
可以使用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是上一篇中分配给各个应用的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,但可以随便设置。
更恶心的是代码的获取。第一次看sinweibopy的文档的时候没明白什么意思。如上代码所示,获取到的url是一个授权的网站。
webbrowser.open_new(url)
这行代码打开浏览器跳转到授权的界面,然后观察其所在界面的URL,会显示大致相同的格式如下:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有一个code=...,就是把等号后面的字符串复制过来赋值给代码,但是每次运行程序,代码都不是静态的,也就是说必须有每次都是这样的手册。收购过程对我来说很麻烦。以后自己研究,实现自动取码。谁能告诉我,不胜感激~
好了,拿到正确的代码后,就可以完成授权认证了,可以调用微博的API了。至于Python下怎么调用,我复制一下sinweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source:字符串,OAuth授权方式不需要该参数,其他授权方式需要。值是 AppKey?的应用程序。
access_token:字符串,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是文件还是字段。您可以通过 StringIO 将 str 包装到类似文件的对象中
网站调用新浪微博内容(一条微博审核之后,希望能提取摘要,自动同步发布)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-25 20:10
任务
发完博客,希望提取摘要,自动同步发一条微博;
准备好工作了
作为新浪微博的开发者,需要进行身份验证;
个人身份认证审核一般需要1个工作日;
下一步是提交网站的review,国内是提交备案号。海外投稿,网站的海外证明即可;也是一个工作日左右;
通过个人身份审核后,可以创建应用和调用接口,此时获得的权限比较低;
网站不提交审核或审核不通过,不影响微博发帖;它只会在已发布的微博下显示“未审核的申请”;
网站审核后显示的应用名称:
调用接口
微博开放平台提供测试工具;
在开发接入之前,首先要保证测试微博可以通过这个测试工具发出;
%E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7
发送微博的api参考文档为:
所有发送微博的接口都需要授权认证;认证通过后,会得到一个access_token(访问密钥);密钥的有效期根据用户级别而有所不同;
网络审查不合格者1天;审核通过的普通用户7天;
在有效期内,无需与新浪服务器交互进行授权认证。只要这个token存储在本地,就可以用来调用各种微博API(读、写、获取受众信息等)
权威认证
授权认证的三种方式:
通过用户名和密码;
这个最容易理解,在程序中写下微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,这个接口是为app的开发提供的,不能使用web应用;
通过web回调方法;
需要与新浪服务器交互并提供回调地址;获取回调地址中的access_token;
第三种方法是代码方法,不仔细看,略过;
web应用只支持第二种授权方式;下面详细介绍第二种方法的使用:
下载新浪提供的SDK,收录demo和api封装类;
访问页面:
调用.php:
1include_once( 'sina_config.php' );
2include_once( 'saetv2.ex.class.php' );
3
4//获取到授权的url
5$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
6$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
7
8//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
9request()->redirect($code_url);
10
回调地址页(WB_CALLBACK_URL):
回调.php
博客的抽象提取
微博字数140字;汉字为1个字符;我们使用计数功能来选择;对于一个汉字,strlen()算3个字符,而多字节统计函数mb_strlen()算1个字符,符合我们的使用要求;
最后,需要清除已发布微博中的html标签等
1 //获取当前微博内容(140字)
2 public function getWeibo()
3 {
4 $titleLen = mb_strlen($this->title, 'UTF-8');
5 //140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
6 $summaryLen = 115 - $titleLen ;
7
8 $pubPaper = cutstr_html($this->summary);
9 if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
10 $pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
11
12 $pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
13
14 return $pubPaper;
15 }
16
17//完全的去除html标记
18function cutstr_html($string)
19{
20 $string = strip_tags($string);
21 $string = preg_replace ('/n/is', '', $string);
22 $string = preg_replace ('/ | /is', '', $string);
23 $string = preg_replace ('/ /is', '', $string);
24
25 return $string;
26}
27
超过。
发布者:大CC | 2013 年 11 月 30 日
博客:
微博:新浪微博 查看全部
网站调用新浪微博内容(一条微博审核之后,希望能提取摘要,自动同步发布)
任务
发完博客,希望提取摘要,自动同步发一条微博;
准备好工作了
作为新浪微博的开发者,需要进行身份验证;
个人身份认证审核一般需要1个工作日;
下一步是提交网站的review,国内是提交备案号。海外投稿,网站的海外证明即可;也是一个工作日左右;
通过个人身份审核后,可以创建应用和调用接口,此时获得的权限比较低;
网站不提交审核或审核不通过,不影响微博发帖;它只会在已发布的微博下显示“未审核的申请”;
网站审核后显示的应用名称:
调用接口
微博开放平台提供测试工具;
在开发接入之前,首先要保证测试微博可以通过这个测试工具发出;
%E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7
发送微博的api参考文档为:
所有发送微博的接口都需要授权认证;认证通过后,会得到一个access_token(访问密钥);密钥的有效期根据用户级别而有所不同;
网络审查不合格者1天;审核通过的普通用户7天;
在有效期内,无需与新浪服务器交互进行授权认证。只要这个token存储在本地,就可以用来调用各种微博API(读、写、获取受众信息等)
权威认证
授权认证的三种方式:
通过用户名和密码;
这个最容易理解,在程序中写下微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,这个接口是为app的开发提供的,不能使用web应用;
通过web回调方法;
需要与新浪服务器交互并提供回调地址;获取回调地址中的access_token;
第三种方法是代码方法,不仔细看,略过;
web应用只支持第二种授权方式;下面详细介绍第二种方法的使用:
下载新浪提供的SDK,收录demo和api封装类;
访问页面:
调用.php:
1include_once( 'sina_config.php' );
2include_once( 'saetv2.ex.class.php' );
3
4//获取到授权的url
5$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
6$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
7
8//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
9request()->redirect($code_url);
10
回调地址页(WB_CALLBACK_URL):
回调.php
博客的抽象提取
微博字数140字;汉字为1个字符;我们使用计数功能来选择;对于一个汉字,strlen()算3个字符,而多字节统计函数mb_strlen()算1个字符,符合我们的使用要求;
最后,需要清除已发布微博中的html标签等
1 //获取当前微博内容(140字)
2 public function getWeibo()
3 {
4 $titleLen = mb_strlen($this->title, 'UTF-8');
5 //140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
6 $summaryLen = 115 - $titleLen ;
7
8 $pubPaper = cutstr_html($this->summary);
9 if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
10 $pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
11
12 $pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
13
14 return $pubPaper;
15 }
16
17//完全的去除html标记
18function cutstr_html($string)
19{
20 $string = strip_tags($string);
21 $string = preg_replace ('/n/is', '', $string);
22 $string = preg_replace ('/ | /is', '', $string);
23 $string = preg_replace ('/ /is', '', $string);
24
25 return $string;
26}
27
超过。
发布者:大CC | 2013 年 11 月 30 日
博客:
微博:新浪微博
网站调用新浪微博内容(如何使用微博API做初步性的介绍-本文数据获取)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-02-23 19:18
做没有稻草的砖。
数据采集是数据分析的前提。很多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博 API 列表。
商业数据API(如place/nearby_timeline/biz)是一个收费接口。如果要调用该类接口,需要支付一定的费用并完成相应的接入工作。您可以参考商业数据API访问指南。
本文将对如何使用微博API进行初步介绍,从而获得基本的概念和理解,方便后面深入了解。
文章目录step1:使用python调用微博API,首先下载python SDK,即sinweibopy
sinaweibopy 是一个支持微博 API 的特定于 python 的 OAuth 2 客户端。无依赖,100%纯Py,单一文件,代码简洁,运行可靠。也是新浪微博推荐的官方Python SDK。
可以直接通过 pip 安装:
1pip install sinaweibopy
2
3
什么是 SDK?SDK的英文全称是software development kit(软件开发工具包)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。当您为应用程序编写代码时,您不需要像在实际屏幕上绘制文本那样重复代码。使用 SDK 可以帮助您做到这一点。总而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
step2:了解新浪微博的授权机制,即OAuth 2
API 调用需要用户认证(用户授权)。目前OAuth2.0主要用于微博开放平台上的用户身份认证。
OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
用户授权浏览器后,URL 如下所示:
我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
了解了上面的机制之后,我们就知道如何编写代码来调用API了。
step3:在微博开放平台上创建自己的应用
现在让我们创建自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
我们使用微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序密码。您可以在“我的申请-申请信息-基本信息”中查询,将用于授权。注意:无需提交审核,您只需要应用程序密钥和应用程序密钥即可。
如果是异地网页应用或者手机客户端应用,出于安全考虑,需要填写平台网站的redirect_url(授权回调页面)才能使用OAuth2.0。地址填写为“我的申请>申请信息>高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
step4:python代码实现
首先,导入所需的模块:
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4
使用微博 SDK 创建我们的应用程序:
1APP_KEY = '123456'
2APP_SECRET = 'abc123xyz456'
3CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
4client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
5
6
获取授权页面的url(%3A///oauth2/default.html&response_type=code&client_id=729983294)。用webbrowser打开这个url,会引起浏览器打开
1url=client.get_authorize_url() #得到授权页面的url
2webbrowser.open_new(url) #打开这个url
3
4
用户完成授权后,url 如下所示: . 我们需要code=后面的内容。
1code = input('输入url中code后面的内容后按回车键:')
2
3
使用代码获取访问令牌:
1r = client.request_access_token(code)
2access_token = r.access_token # 新浪(授权服务器)返回的token
3expires_in = r.expires_in
4
5
您可以打印 r 以查看其中的内容:
1print(r)
2# {'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
3
4
设置获取到的access_token后,可以直接调用API:
1client.set_access_token(access_token, expires_in)
2
3
输出最新的公众微博:
1print(client.statuses.public_timeline.get())
2
3
具体返回内容可以查看微博API文档。
例如,我们可以输出用户的昵称、简历、位置和推文:
1statuses = client.statuses.public_timeline.get().statuses
2l = len(statuses)
3
4for i in range(0,l):
5 print(u'昵称:'+statuses[i]['user']['screen_name'])
6 print(u'简介:'+statuses[i]['user']['description'])
7 print(u'位置:'+statuses[i]['user']['location'])
8 print(u'微博:'+statuses[i]['text'])
9
10
step5:完整代码
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4APP_KEY = '123456'
5APP_SECRET = 'abc123xyz456'
6CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
7client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
8
9url=client.get_authorize_url() #得到授权页面的url
10webbrowser.open_new(url) #打开这个url
11
12code = input('输入url中code后面的内容后按回车键:')
13
14r = client.request_access_token(code)
15access_token = r.access_token # 新浪(授权服务器)返回的token
16expires_in = r.expires_in
17
18client.set_access_token(access_token, expires_in)
19print(client.statuses.public_timeline.get())
20
21statuses = client.statuses.public_timeline.get().statuses
22l = len(statuses)
23
24for i in range(0,l):
25 print(u'昵称:'+statuses[i]['user']['screen_name'])
26 print(u'简介:'+statuses[i]['user']['description'])
27 print(u'位置:'+statuses[i]['user']['location'])
28 print(u'微博:'+statuses[i]['text'])
29
30
31
参考:
python调用微博API
如何通过python调用新浪微博的API 查看全部
网站调用新浪微博内容(如何使用微博API做初步性的介绍-本文数据获取)
做没有稻草的砖。
数据采集是数据分析的前提。很多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博 API 列表。
商业数据API(如place/nearby_timeline/biz)是一个收费接口。如果要调用该类接口,需要支付一定的费用并完成相应的接入工作。您可以参考商业数据API访问指南。
本文将对如何使用微博API进行初步介绍,从而获得基本的概念和理解,方便后面深入了解。
文章目录step1:使用python调用微博API,首先下载python SDK,即sinweibopy
sinaweibopy 是一个支持微博 API 的特定于 python 的 OAuth 2 客户端。无依赖,100%纯Py,单一文件,代码简洁,运行可靠。也是新浪微博推荐的官方Python SDK。
可以直接通过 pip 安装:
1pip install sinaweibopy
2
3
什么是 SDK?SDK的英文全称是software development kit(软件开发工具包)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。当您为应用程序编写代码时,您不需要像在实际屏幕上绘制文本那样重复代码。使用 SDK 可以帮助您做到这一点。总而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
step2:了解新浪微博的授权机制,即OAuth 2
API 调用需要用户认证(用户授权)。目前OAuth2.0主要用于微博开放平台上的用户身份认证。
OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。

用户授权浏览器后,URL 如下所示:
我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
了解了上面的机制之后,我们就知道如何编写代码来调用API了。
step3:在微博开放平台上创建自己的应用
现在让我们创建自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
我们使用微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序密码。您可以在“我的申请-申请信息-基本信息”中查询,将用于授权。注意:无需提交审核,您只需要应用程序密钥和应用程序密钥即可。
如果是异地网页应用或者手机客户端应用,出于安全考虑,需要填写平台网站的redirect_url(授权回调页面)才能使用OAuth2.0。地址填写为“我的申请>申请信息>高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:

step4:python代码实现
首先,导入所需的模块:
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4
使用微博 SDK 创建我们的应用程序:
1APP_KEY = '123456'
2APP_SECRET = 'abc123xyz456'
3CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
4client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
5
6
获取授权页面的url(%3A///oauth2/default.html&response_type=code&client_id=729983294)。用webbrowser打开这个url,会引起浏览器打开
1url=client.get_authorize_url() #得到授权页面的url
2webbrowser.open_new(url) #打开这个url
3
4

用户完成授权后,url 如下所示: . 我们需要code=后面的内容。
1code = input('输入url中code后面的内容后按回车键:')
2
3
使用代码获取访问令牌:
1r = client.request_access_token(code)
2access_token = r.access_token # 新浪(授权服务器)返回的token
3expires_in = r.expires_in
4
5
您可以打印 r 以查看其中的内容:
1print(r)
2# {'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
3
4
设置获取到的access_token后,可以直接调用API:
1client.set_access_token(access_token, expires_in)
2
3
输出最新的公众微博:
1print(client.statuses.public_timeline.get())
2
3
具体返回内容可以查看微博API文档。
例如,我们可以输出用户的昵称、简历、位置和推文:
1statuses = client.statuses.public_timeline.get().statuses
2l = len(statuses)
3
4for i in range(0,l):
5 print(u'昵称:'+statuses[i]['user']['screen_name'])
6 print(u'简介:'+statuses[i]['user']['description'])
7 print(u'位置:'+statuses[i]['user']['location'])
8 print(u'微博:'+statuses[i]['text'])
9
10

step5:完整代码
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4APP_KEY = '123456'
5APP_SECRET = 'abc123xyz456'
6CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
7client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
8
9url=client.get_authorize_url() #得到授权页面的url
10webbrowser.open_new(url) #打开这个url
11
12code = input('输入url中code后面的内容后按回车键:')
13
14r = client.request_access_token(code)
15access_token = r.access_token # 新浪(授权服务器)返回的token
16expires_in = r.expires_in
17
18client.set_access_token(access_token, expires_in)
19print(client.statuses.public_timeline.get())
20
21statuses = client.statuses.public_timeline.get().statuses
22l = len(statuses)
23
24for i in range(0,l):
25 print(u'昵称:'+statuses[i]['user']['screen_name'])
26 print(u'简介:'+statuses[i]['user']['description'])
27 print(u'位置:'+statuses[i]['user']['location'])
28 print(u'微博:'+statuses[i]['text'])
29
30
31
参考:
python调用微博API
如何通过python调用新浪微博的API
网站调用新浪微博内容(网站调用新浪微博内容,替换掉原网站上的相关图片)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-23 13:00
网站调用新浪微博内容,替换掉原网站上的相关图片就可以了!可以搜索到:,具体细节如何将png设置为通用图片、如何同步pdf文件等,
选择正确的png替换位置很重要,建议在原网站图片的空白处替换,试试我的接口,
右键png图片--选择网络图片--右上角注册--返回已登录页面
如果有第三方,用第三方,比如新浪微博的api。然后用api接口自己调用,那样有备案,安全稳定。百度找这种第三方一大堆。自己是没有的。
按图上所示,将文本发送到百度并粘贴并将文本发送到png.webdn.to.png文件,在png.webdn.to.to.content/existing.png下载即可。png.webdn.to.to.content/existing.png为图片资源。
选一个微博api,在微博网站后台你提供的目录\api\api.json里面,里面有个图片如果是直接发给你,获取的不是png,而是jpg、gif等等格式这个和你的图片的格式,文件名的大小有关,如果是jpg,那么要指定大小所以要看你发的第几张图,
直接,
在微博网站的空白处上传图片,然后上传图片到百度api接口中,在界面上的任意位置打开百度api接口进行转换后发给微博网站即可。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容,替换掉原网站上的相关图片)
网站调用新浪微博内容,替换掉原网站上的相关图片就可以了!可以搜索到:,具体细节如何将png设置为通用图片、如何同步pdf文件等,
选择正确的png替换位置很重要,建议在原网站图片的空白处替换,试试我的接口,
右键png图片--选择网络图片--右上角注册--返回已登录页面
如果有第三方,用第三方,比如新浪微博的api。然后用api接口自己调用,那样有备案,安全稳定。百度找这种第三方一大堆。自己是没有的。
按图上所示,将文本发送到百度并粘贴并将文本发送到png.webdn.to.png文件,在png.webdn.to.to.content/existing.png下载即可。png.webdn.to.to.content/existing.png为图片资源。
选一个微博api,在微博网站后台你提供的目录\api\api.json里面,里面有个图片如果是直接发给你,获取的不是png,而是jpg、gif等等格式这个和你的图片的格式,文件名的大小有关,如果是jpg,那么要指定大小所以要看你发的第几张图,
直接,
在微博网站的空白处上传图片,然后上传图片到百度api接口中,在界面上的任意位置打开百度api接口进行转换后发给微博网站即可。
网站调用新浪微博内容(网上翻到一段代码实现新浪微博分享功能的实现(图) )
网站优化 • 优采云 发表了文章 • 0 个评论 • 72 次浏览 • 2022-02-19 05:08
)
在网上找了一段代码,可以实现新浪微博分享功能的实现,写个实际例子,分享给大家!
在这个效果中,调用了文字和图片,点击按钮后,可以分享图片和文字。
主要使用dom操作相关的知识。在分享功能中,重要的部分是'&title=',e(window.sharetitle)和'&pic=',e(window.shareUrl)的设置。从代码可以看出,调用了新浪微博的share.php文件,传递了u、p等属性的属性值。
效果实现:
Document
<p id="p1">点击下面的按钮可以将这段文字和图片分享到新浪微博哦!@飞鱼
<img src='http://xinji1101.sinaapp.com/b.jpg'/>
$('#btn').click(function(){
window.sharetitle = $(this).siblings('#p1').html();
window.shareUrl = $(this).siblings('img').attr('src');
share();
});
function share(){
//d指的是window
(function(s,d,e){try{}catch(e){}var f='http://v.t.sina.com.cn/share/share.php?',u=d.location.href,p=['url=',e(u),'&title=',e(window.sharetitle),'&appkey=2924220432','&pic=',e(window.shareUrl)].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent);
}
</p> 查看全部
网站调用新浪微博内容(网上翻到一段代码实现新浪微博分享功能的实现(图)
)
在网上找了一段代码,可以实现新浪微博分享功能的实现,写个实际例子,分享给大家!
在这个效果中,调用了文字和图片,点击按钮后,可以分享图片和文字。
主要使用dom操作相关的知识。在分享功能中,重要的部分是'&title=',e(window.sharetitle)和'&pic=',e(window.shareUrl)的设置。从代码可以看出,调用了新浪微博的share.php文件,传递了u、p等属性的属性值。
效果实现:
Document
<p id="p1">点击下面的按钮可以将这段文字和图片分享到新浪微博哦!@飞鱼
<img src='http://xinji1101.sinaapp.com/b.jpg'/>
$('#btn').click(function(){
window.sharetitle = $(this).siblings('#p1').html();
window.shareUrl = $(this).siblings('img').attr('src');
share();
});
function share(){
//d指的是window
(function(s,d,e){try{}catch(e){}var f='http://v.t.sina.com.cn/share/share.php?',u=d.location.href,p=['url=',e(u),'&title=',e(window.sharetitle),'&appkey=2924220432','&pic=',e(window.shareUrl)].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent);
}
</p>
网站调用新浪微博内容(微信朋友圈怎么同步到你的微博?表情符会被「同步圈」识别错误)
网站优化 • 优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-15 21:28
如何将微信朋友圈同步到微博?在微信公众号和朋友圈挤占个人时间的当下,很多人的微博号逐渐被抛弃,而这个工具可以帮助你自动将任何朋友圈图文内容同步到你的微博。下面就和德牛网小编一起来看看微信朋友圈同步到微博的方法吧。
这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博,但是目前网站还没有推出APP或者Windows版本,所以大家只能在网页上操作,在以下操作,小编将为您提供同步圈的登录地址。
微信朋友圈同步新浪微博步骤:
为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用个人微博账号登录同步推送,网址为。
授权登录后,网页会显示一个二维码,用你的微信扫一扫,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片三种内容的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。
经过实测,我还发现一些特殊的表情符号会被“同步圈”错误识别,可能会导致一些歧义或误解。这很可能是由于微信朋友圈和微博支持的表情不匹配造成的。
同步循环原理:
原则上,“同步圈”调用了微信朋友圈上的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后使用微博开放平台的API接口发送相同的内容。出去。
抽象地说,“同步圈”与著名的自动化服务 IFTTT 非常相似。只不过它在微信封闭的城墙上开通了单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
遗憾的是,根据我们对腾讯和微信团队的了解,同步圈的这种“聪明”可能很快就会失效。 查看全部
网站调用新浪微博内容(微信朋友圈怎么同步到你的微博?表情符会被「同步圈」识别错误)
如何将微信朋友圈同步到微博?在微信公众号和朋友圈挤占个人时间的当下,很多人的微博号逐渐被抛弃,而这个工具可以帮助你自动将任何朋友圈图文内容同步到你的微博。下面就和德牛网小编一起来看看微信朋友圈同步到微博的方法吧。
这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博,但是目前网站还没有推出APP或者Windows版本,所以大家只能在网页上操作,在以下操作,小编将为您提供同步圈的登录地址。

微信朋友圈同步新浪微博步骤:
为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用个人微博账号登录同步推送,网址为。
授权登录后,网页会显示一个二维码,用你的微信扫一扫,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!

经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片三种内容的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。
经过实测,我还发现一些特殊的表情符号会被“同步圈”错误识别,可能会导致一些歧义或误解。这很可能是由于微信朋友圈和微博支持的表情不匹配造成的。
同步循环原理:
原则上,“同步圈”调用了微信朋友圈上的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后使用微博开放平台的API接口发送相同的内容。出去。
抽象地说,“同步圈”与著名的自动化服务 IFTTT 非常相似。只不过它在微信封闭的城墙上开通了单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
遗憾的是,根据我们对腾讯和微信团队的了解,同步圈的这种“聪明”可能很快就会失效。
网站调用新浪微博内容(一下获取微博内容时所的基本信息、高级信息和测试信息)
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2022-02-14 23:19
本文主要讲了当时获取微博内容的方法。
由于我们选择了新浪微博,它提供了一系列的API进行调用,包括粉丝服务、微博、评论、用户、关系、账号接口等服务。目前V2版本增加了采集、搜索、提醒、位置服务、地理信息、地图引擎、支付等接口,采用Https协议,安全性更高。
为了能够调用接口,需要以开发人员的身份创建应用程序。
创建完成后,应用信息中会有基础信息、进阶信息和测试信息。
1、查看基本信息中的App Key和App Secret。授权他人访问自己的应用和回复微博评论时需要这两个。
2、在高级信息中设计回调页面。授权需要此回调页面。可以填写默认地址,也可以填写自己的申请。如果你填写自己的申请,授权用户成功后,会跳转到你申请的地址。
3、如果申请还处于测试阶段,授权对象必须加入测试账号才能进行微博相关活动。授权期限为1天。测试账户,第二步高级信息菜单中的下一个菜单。
1、将App Key和App Secret导入项目
在 Config.properties
client_ID : appkey(创建应用获取的appkey)
client_SERCRET : app_secret(创建应用获取的appsecret)
redirect_URI : 回调地址(OAuth2的回调地址)
2、微博配置变化
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
3、调用例子:OAuth4Code.java,运行,会弹出认证界面。
4、我们不需要这个页面,而是页面的地址。地址的结尾是code=XXXXX。在eclipse控制台下填写XXXXX。
5、回车,会在最下面得到access_token和uid,记下来,这两个参数很有用,一般需要用这两个参数从服务器抓取数据。
6、调用一个类的时候,传入这两个参数,调用它的API获取结果。
另外,对于爬虫的反爬机制,可以采用以下两种方法来解决: 查看全部
网站调用新浪微博内容(一下获取微博内容时所的基本信息、高级信息和测试信息)
本文主要讲了当时获取微博内容的方法。
由于我们选择了新浪微博,它提供了一系列的API进行调用,包括粉丝服务、微博、评论、用户、关系、账号接口等服务。目前V2版本增加了采集、搜索、提醒、位置服务、地理信息、地图引擎、支付等接口,采用Https协议,安全性更高。
为了能够调用接口,需要以开发人员的身份创建应用程序。
创建完成后,应用信息中会有基础信息、进阶信息和测试信息。
1、查看基本信息中的App Key和App Secret。授权他人访问自己的应用和回复微博评论时需要这两个。
2、在高级信息中设计回调页面。授权需要此回调页面。可以填写默认地址,也可以填写自己的申请。如果你填写自己的申请,授权用户成功后,会跳转到你申请的地址。
3、如果申请还处于测试阶段,授权对象必须加入测试账号才能进行微博相关活动。授权期限为1天。测试账户,第二步高级信息菜单中的下一个菜单。
1、将App Key和App Secret导入项目
在 Config.properties
client_ID : appkey(创建应用获取的appkey)
client_SERCRET : app_secret(创建应用获取的appsecret)
redirect_URI : 回调地址(OAuth2的回调地址)
2、微博配置变化
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
3、调用例子:OAuth4Code.java,运行,会弹出认证界面。
4、我们不需要这个页面,而是页面的地址。地址的结尾是code=XXXXX。在eclipse控制台下填写XXXXX。
5、回车,会在最下面得到access_token和uid,记下来,这两个参数很有用,一般需要用这两个参数从服务器抓取数据。
6、调用一个类的时候,传入这两个参数,调用它的API获取结果。
另外,对于爬虫的反爬机制,可以采用以下两种方法来解决:
网站调用新浪微博内容(weiboSpider,看名字也可以猜到这个项目是做什么的了!)
网站优化 • 优采云 发表了文章 • 0 个评论 • 51 次浏览 • 2022-03-06 05:01
各位朋友大家好,今天给大家分享的开源项目是:weiboSpider,看名字就猜到这个项目是干什么的了!没错,这个开源项目是新浪微博的一个或多个用户(如胡歌、迪丽热巴、郭碧婷)的数据,并将结果信息写入文件或数据库,写入的信息几乎包括所有数据用户微博,包括用户信息和微博信息。本开源项目需要设置cookies才能访问微博,后面会讲解如何获取cookies。如果您不想设置 cookie,您可以使用无 cookie 版本,其功能类似。
具体写入文件类型如下:
写入 txt 文件(默认) 写入 csv 文件(默认) 写入 json 文件(可选) 写入 MySQL 数据库(可选) 写入 MongoDB 数据库(可选) 从用户 原创weibo 下载 raw 图片(可选) 下载用户转发微博中的原图(特定于无cookie版本) 下载用户原创微博中的视频(可选) 下载用户转发微博中的视频(无cookie版本独有) 下载用户在微博直播中的原创视频(无cookie版本独有) 下载用户转发微博直播中的视频(无cookie版本独有) 项目列表
自定义字段
这部分是爬取的字段信息的描述。为了区别于无cookie版本,下面列出两者爬取的信息。如果信息是无cookie版本独有的,则会有无cookie标记,未标记的信息为两者共享的信息。
用户信息
微博资讯
运行时环境部署项目
源码安装
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
复制代码
要么
$ python3 -m pip install weibo-spider
复制代码
运行程序
源码安装用户可以在weiboSpider目录下运行以下命令,pip安装用户可以在任意有写权限的目录下运行以下命令
$ python3 -m weibo_spider
复制代码
第一次执行时,会在当前目录自动创建config.json配置文件。配置完成后,执行同样的命令获取微博。如果你已经有了config.json文件,也可以通过config_path参数配置config.json路径,运行程序,命令行如下:
$ python3 -m weibo_spider --config_path="config.json"
复制代码
个性化程序(可选)
此部分是可选的,如果您不需要个性化程序或添加新功能,可以忽略。
该程序的主要代码位于 weibo_spider.py 文件中。程序的主体是一个 Spider 类。以上所有功能都是通过在main函数中调用Spider类来实现的。默认调用代码如下:
config = get_config()
wb = Spider(config)
wb.start() # 爬取微博信息
复制代码
用户可以根据需要调用或修改 Spider 类。通过执行这个程序,我们可以获得很多信息。
定时自动抓取微博(可选)
如果您希望程序每隔一段时间自动爬取,并且爬取的内容是新添加的内容(不包括已经获取的微博),请定期检查微博的自动爬取情况。
如何获得饼干
要了解如何获取 cookie,请查看 cookie 文档。
如何获取 user_id
要了解如何获取 user_id,请查看 user_id 文档,该文档描述了如何获取一个或多个微博用户的 user_id。
开源地址:/dataabc/wei...
有兴趣的旧熨斗不怕应用它。一是可以参考作者的编码风格,二是给刚入手或者最近入手的朋友提供一个采集数据思路。
今天的推荐,不知道大家喜不喜欢?如果喜欢,请在文章底部留言或点赞,以表示对我的支持。你们的评论、点赞、转发和关注,是我不断更新的动力,平安! 查看全部
网站调用新浪微博内容(weiboSpider,看名字也可以猜到这个项目是做什么的了!)
各位朋友大家好,今天给大家分享的开源项目是:weiboSpider,看名字就猜到这个项目是干什么的了!没错,这个开源项目是新浪微博的一个或多个用户(如胡歌、迪丽热巴、郭碧婷)的数据,并将结果信息写入文件或数据库,写入的信息几乎包括所有数据用户微博,包括用户信息和微博信息。本开源项目需要设置cookies才能访问微博,后面会讲解如何获取cookies。如果您不想设置 cookie,您可以使用无 cookie 版本,其功能类似。
具体写入文件类型如下:
写入 txt 文件(默认) 写入 csv 文件(默认) 写入 json 文件(可选) 写入 MySQL 数据库(可选) 写入 MongoDB 数据库(可选) 从用户 原创weibo 下载 raw 图片(可选) 下载用户转发微博中的原图(特定于无cookie版本) 下载用户原创微博中的视频(可选) 下载用户转发微博中的视频(无cookie版本独有) 下载用户在微博直播中的原创视频(无cookie版本独有) 下载用户转发微博直播中的视频(无cookie版本独有) 项目列表
自定义字段
这部分是爬取的字段信息的描述。为了区别于无cookie版本,下面列出两者爬取的信息。如果信息是无cookie版本独有的,则会有无cookie标记,未标记的信息为两者共享的信息。
用户信息
微博资讯
运行时环境部署项目
源码安装
$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt
复制代码
要么
$ python3 -m pip install weibo-spider
复制代码
运行程序
源码安装用户可以在weiboSpider目录下运行以下命令,pip安装用户可以在任意有写权限的目录下运行以下命令
$ python3 -m weibo_spider
复制代码
第一次执行时,会在当前目录自动创建config.json配置文件。配置完成后,执行同样的命令获取微博。如果你已经有了config.json文件,也可以通过config_path参数配置config.json路径,运行程序,命令行如下:
$ python3 -m weibo_spider --config_path="config.json"
复制代码
个性化程序(可选)
此部分是可选的,如果您不需要个性化程序或添加新功能,可以忽略。
该程序的主要代码位于 weibo_spider.py 文件中。程序的主体是一个 Spider 类。以上所有功能都是通过在main函数中调用Spider类来实现的。默认调用代码如下:
config = get_config()
wb = Spider(config)
wb.start() # 爬取微博信息
复制代码
用户可以根据需要调用或修改 Spider 类。通过执行这个程序,我们可以获得很多信息。
定时自动抓取微博(可选)
如果您希望程序每隔一段时间自动爬取,并且爬取的内容是新添加的内容(不包括已经获取的微博),请定期检查微博的自动爬取情况。
如何获得饼干
要了解如何获取 cookie,请查看 cookie 文档。
如何获取 user_id
要了解如何获取 user_id,请查看 user_id 文档,该文档描述了如何获取一个或多个微博用户的 user_id。
开源地址:/dataabc/wei...
有兴趣的旧熨斗不怕应用它。一是可以参考作者的编码风格,二是给刚入手或者最近入手的朋友提供一个采集数据思路。
今天的推荐,不知道大家喜不喜欢?如果喜欢,请在文章底部留言或点赞,以表示对我的支持。你们的评论、点赞、转发和关注,是我不断更新的动力,平安!
网站调用新浪微博内容(新浪微博的快速发展促进了基于微博数据的研究发展)
网站优化 • 优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-03-05 12:10
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是开展相关研究的首要问题。本文分析了新浪微博数据的爬取方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息,模拟浏览器访问新浪微博数据爬取方案,解决了不能使用新浪微博的问题开放平台API爬取微博数据的主要问题,实现的爬虫程序编程简单,性能稳定,能有效获取微博数据。
关键词:新浪微博;数据爬取;微博爬虫;Python
CLC编号: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]提供20多种接口,涵盖微博内容、评论、用户、关系等各种操作。从理论上讲,这种方法是最直接、最方便的方法。但新版微博开放界面存在一些局限性,对于小型研究团队或个人来说不是很方便,主要体现在以下几点:
(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) 模拟浏览器登录,在页面请求中添加header信息;
(4)控制微博访问频率,避免反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需要维护已爬取的URL列表和等待爬取的URL列表。获取到新的URL后,首先查看已爬取的URL列表,如果该URL不在列表中,则将其添加到待爬取的URL列表中。
2.1.3 页面加载器
页面加载器根据爬虫调度器提供的头部信息和URL管理器提供的URL向微博服务器发送请求,获取请求的HTML页面。为了避免爬取过于频繁,导致微博服务器无法及时响应,或者被服务器的反爬机制拒绝访问,页面加载器采用了定时机制来限制页面加载频率。
2.1.4 HTML 解析器
HTML 解析器解析页面加载器提供的 HTML 页面以获取所需的数据。比如微博用户发布的博文内容、转发数、点赞数、评论数等。同时,HTML解析器会将新获取的URL反馈给爬虫根据需要调度程序。
2.1.5 数据导出器
数据导出器输出由 HTML 解析器解析的数据。输出数据为JSON格式,与使用新浪微博开放平台API获取的数据格式基本一致,保证了不同爬取方式获取的数据可以统一分析处理。
2.2 模拟浏览器登录
要访问微博数据,您必须先登录。可以使用爬虫程序模拟微博用户登录[7、8]。爬虫首先向微博用户服务器发送登录请求,然后接收服务器返回的密钥,然后结合服务器返回的用户名、密码和密钥生成验证信息并登录服务器。只要保持与服务器的会话会话,就可以从服务器获取微博数据进行进一步分析。
这种方法实现起来很复杂,并且需要了解服务器身份验证信息的细节。因此,采用了另一种比较简单的做法,即本文微博爬虫的做法。首先在浏览器中登录微博,然后使用浏览器提供的开发者工具查看请求页面的请求头信息。例如,使用火狐登录微博后,可以使用火狐提供的开发者工具查看如图2所示的请求头信息。
从图2可以看出,“Referer”的内容是访问微博的URL,其中“”是当前用户在微博上的唯一标识id;“Connection”的值为“keep-alive”,标识cookie永不过期;“Cookie”的内容是成功连接微博服务器后保存在本地的cookie,可以用来简单快捷地访问新浪微博。首先需要复制“”的内容,然后在Python中定义headers对象,设置Cookie和Connection,最后每次访问微博页面时将headers作为参数添加到Request对象中,获取微博页面. 这样,在cookie的有效期内,您就可以直接访问微博,提取您需要的数据。这样,
headers = {'Cookie': '', '连接': 'keep-alive'} 查看全部
网站调用新浪微博内容(新浪微博的快速发展促进了基于微博数据的研究发展)
摘要:新浪微博的快速发展促进了基于微博数据的研究的发展。如何获取微博数据是开展相关研究的首要问题。本文分析了新浪微博数据的爬取方法,提出了一种基于Python的语言,直接设置登录用户的cookie信息,模拟浏览器访问新浪微博数据爬取方案,解决了不能使用新浪微博的问题开放平台API爬取微博数据的主要问题,实现的爬虫程序编程简单,性能稳定,能有效获取微博数据。
关键词:新浪微博;数据爬取;微博爬虫;Python
CLC编号: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]提供20多种接口,涵盖微博内容、评论、用户、关系等各种操作。从理论上讲,这种方法是最直接、最方便的方法。但新版微博开放界面存在一些局限性,对于小型研究团队或个人来说不是很方便,主要体现在以下几点:
(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) 模拟浏览器登录,在页面请求中添加header信息;
(4)控制微博访问频率,避免反爬虫机制拒绝访问。
2.1.2 网址管理器
微博爬虫采用广度优先遍历策略提取需要的数据,URL管理器需要维护已爬取的URL列表和等待爬取的URL列表。获取到新的URL后,首先查看已爬取的URL列表,如果该URL不在列表中,则将其添加到待爬取的URL列表中。
2.1.3 页面加载器
页面加载器根据爬虫调度器提供的头部信息和URL管理器提供的URL向微博服务器发送请求,获取请求的HTML页面。为了避免爬取过于频繁,导致微博服务器无法及时响应,或者被服务器的反爬机制拒绝访问,页面加载器采用了定时机制来限制页面加载频率。
2.1.4 HTML 解析器
HTML 解析器解析页面加载器提供的 HTML 页面以获取所需的数据。比如微博用户发布的博文内容、转发数、点赞数、评论数等。同时,HTML解析器会将新获取的URL反馈给爬虫根据需要调度程序。
2.1.5 数据导出器
数据导出器输出由 HTML 解析器解析的数据。输出数据为JSON格式,与使用新浪微博开放平台API获取的数据格式基本一致,保证了不同爬取方式获取的数据可以统一分析处理。
2.2 模拟浏览器登录
要访问微博数据,您必须先登录。可以使用爬虫程序模拟微博用户登录[7、8]。爬虫首先向微博用户服务器发送登录请求,然后接收服务器返回的密钥,然后结合服务器返回的用户名、密码和密钥生成验证信息并登录服务器。只要保持与服务器的会话会话,就可以从服务器获取微博数据进行进一步分析。
这种方法实现起来很复杂,并且需要了解服务器身份验证信息的细节。因此,采用了另一种比较简单的做法,即本文微博爬虫的做法。首先在浏览器中登录微博,然后使用浏览器提供的开发者工具查看请求页面的请求头信息。例如,使用火狐登录微博后,可以使用火狐提供的开发者工具查看如图2所示的请求头信息。
从图2可以看出,“Referer”的内容是访问微博的URL,其中“”是当前用户在微博上的唯一标识id;“Connection”的值为“keep-alive”,标识cookie永不过期;“Cookie”的内容是成功连接微博服务器后保存在本地的cookie,可以用来简单快捷地访问新浪微博。首先需要复制“”的内容,然后在Python中定义headers对象,设置Cookie和Connection,最后每次访问微博页面时将headers作为参数添加到Request对象中,获取微博页面. 这样,在cookie的有效期内,您就可以直接访问微博,提取您需要的数据。这样,
headers = {'Cookie': '', '连接': 'keep-alive'}
网站调用新浪微博内容(新浪微博注册应用的一些注意事项及注意的事项)
网站优化 • 优采云 发表了文章 • 0 个评论 • 72 次浏览 • 2022-03-05 12:06
首先需要下载新浪微博的SDK,地址如下:
下载后解压,然后打开myeclipse,新建一个项目,然后将刚刚解压的文件导入到项目中。如图所示:
接下来,转到此 URL 以注册应用程序。共有三种应用程序,选择站点应用程序,然后创建应用程序。填写所有必填项。确定确认。有两点需要注意:
1.注册应用后会有App Key和App Secret,接下来会用到。
2.进入“我的应用”,选择:应用信息,
点击“编辑”,注意有两个地址:其中“申请实际地址”要认真填写。对于我来说,注意地址后面不要有“/”。现在,记住这个地址,你以后会用到它。
现在,进入myeclipse,在src下,有config.properties文件,编辑一下
client_ID 是 App 密钥。
client_SERCRET 是 App Secret
redirect_URI 是前面突出显示的地址:
保存。
接下来,我们发送一条推文:
在examples下,weibo4j.examples.oauth2包下:OAuth4Code类,直接运行:会出现应用授权页面。输入用户名和密码后,会跳转到之前填写的redirect_URI页面。如果微博信息保存在浏览器中,会直接跳转到redirect_URI页面,不经过这个页面。
跳转到redirect_URI页面后,看到URL地址栏,格式是redirect_URI?代码=xxxxxx。接下来复制代码的值,然后到myeclipse的控制台输出看看:
code=https://api.weibo.com/oauth2/a ... Dcode
Hit enter when it's done.[Enter]:
接下来,将代码粘贴到 [Enter]: 之后。进入。你会看到很多输出信息。
直接跳到最后,看access_token,这是我们需要的,记录一下。
接下来发微博:
在weibo4j.examples.timeline包下,UpdateStatus类下/
我需要传入两个参数,所以我直接写了。代码显示如下:
packageweibo4j.examples.timeline;
importweibo4j.Timeline;
importweibo4j.Weibo;
importweibo4j.examples.oauth2.Log;
importweibo4j.model.Status;
importweibo4j.model.WeiboException;
publicclassUpdateStatus {
publicstaticvoidmain(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = newWeibo();
weibo.setToken(access_token);
Timeline tm = newTimeline();
try{
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch(WeiboException e) {
e.printStackTrace();
} }
}
package weibo4j.examples.timeline;
import weibo4j.Timeline;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.Status;
import weibo4j.model.WeiboException;
public class UpdateStatus {
public static void main(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
Timeline tm = new Timeline();
try {
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch (WeiboException e) {
e.printStackTrace();
} }
}
statuses 是您要发布的内容。
这时候就可以发微博了。
有问题的留言。!
随附的:
有时,比如在使用另一个微博账号(即与注册应用不同的账号)时,会出现一些错误。错误信息:
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
eibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
weibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
解决方法:还是在我的应用里,点击“应用信息”,“测试账号”,看到有添加了一个测试账号。这时候可以添加你想发微博的账号的用户昵称,就OK了。
时间:2015-11-23 查看全部
网站调用新浪微博内容(新浪微博注册应用的一些注意事项及注意的事项)
首先需要下载新浪微博的SDK,地址如下:
下载后解压,然后打开myeclipse,新建一个项目,然后将刚刚解压的文件导入到项目中。如图所示:

接下来,转到此 URL 以注册应用程序。共有三种应用程序,选择站点应用程序,然后创建应用程序。填写所有必填项。确定确认。有两点需要注意:
1.注册应用后会有App Key和App Secret,接下来会用到。
2.进入“我的应用”,选择:应用信息,
点击“编辑”,注意有两个地址:其中“申请实际地址”要认真填写。对于我来说,注意地址后面不要有“/”。现在,记住这个地址,你以后会用到它。
现在,进入myeclipse,在src下,有config.properties文件,编辑一下
client_ID 是 App 密钥。
client_SERCRET 是 App Secret
redirect_URI 是前面突出显示的地址:
保存。
接下来,我们发送一条推文:
在examples下,weibo4j.examples.oauth2包下:OAuth4Code类,直接运行:会出现应用授权页面。输入用户名和密码后,会跳转到之前填写的redirect_URI页面。如果微博信息保存在浏览器中,会直接跳转到redirect_URI页面,不经过这个页面。
跳转到redirect_URI页面后,看到URL地址栏,格式是redirect_URI?代码=xxxxxx。接下来复制代码的值,然后到myeclipse的控制台输出看看:
code=https://api.weibo.com/oauth2/a ... Dcode
Hit enter when it's done.[Enter]:
接下来,将代码粘贴到 [Enter]: 之后。进入。你会看到很多输出信息。
直接跳到最后,看access_token,这是我们需要的,记录一下。
接下来发微博:
在weibo4j.examples.timeline包下,UpdateStatus类下/
我需要传入两个参数,所以我直接写了。代码显示如下:
packageweibo4j.examples.timeline;
importweibo4j.Timeline;
importweibo4j.Weibo;
importweibo4j.examples.oauth2.Log;
importweibo4j.model.Status;
importweibo4j.model.WeiboException;
publicclassUpdateStatus {
publicstaticvoidmain(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = newWeibo();
weibo.setToken(access_token);
Timeline tm = newTimeline();
try{
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch(WeiboException e) {
e.printStackTrace();
} }
}
package weibo4j.examples.timeline;
import weibo4j.Timeline;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.Status;
import weibo4j.model.WeiboException;
public class UpdateStatus {
public static void main(String[] args) {
String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI";
String statuses = "此条微博来自星光发布系统发布";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
Timeline tm = new Timeline();
try {
Status status = tm.UpdateStatus(statuses);
Log.logInfo(status.toString());
} catch (WeiboException e) {
e.printStackTrace();
} }
}
statuses 是您要发布的内容。
这时候就可以发微博了。
有问题的留言。!
随附的:
有时,比如在使用另一个微博账号(即与注册应用不同的账号)时,会出现一些错误。错误信息:
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
eibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"}
weibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why.
error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414)
at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372)
at weibo4j.http.HttpClient.post(HttpClient.java:301)
at weibo4j.http.HttpClient.post(HttpClient.java:286)
at weibo4j.Timeline.UpdateStatus(Timeline.java:708)
at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
解决方法:还是在我的应用里,点击“应用信息”,“测试账号”,看到有添加了一个测试账号。这时候可以添加你想发微博的账号的用户昵称,就OK了。
时间:2015-11-23
网站调用新浪微博内容(如何在网站上调用或数据大杂烩Twitter上面的数据?)
网站优化 • 优采云 发表了文章 • 0 个评论 • 64 次浏览 • 2022-03-05 08:09
谢谢,如果你问我怎么做
我真的没有找到更好的方法来实现这种完全相同的信息流效果,因为观察它的信息流,我会发现它不仅捕获了 Twitter 数据,还捕获了新浪微博和腾讯微博的数据。,QQ签名数据,数据交叉呈现。. . 这完全是各种 API 调用或数据抓取的大杂烩!
至于如何在网站页面调出推特账号发布的最新信息?
我隐约觉得,摆在你面前的第一道关卡就是中国的防火墙,你知道的。. . 否则,您的程序将无法捕获 Twitter 上的数据。. . 这个可以看我自己的网站强发的文章
写诗意的代码
,可以在需要的时候给你一个帮助,免费送你200M的强流量!
真正要做的事情实际上更容易!Twitter的开发者文档已经很详细了,并且给出了很详细的说明,这里是Twitter的开发文档的链接
/web/嵌入式时间线
,如果你懂英文,可以调用推特自动生成的代码或API。
呃,看到了,知乎遇到了翻江的问题,因为推特开发文档链接没有解析成页面标题,还有
siguoya.name/home/os/tools/greenvpn
被自动解析为
写诗意的代码
.
以下是当前学习和销售的内容,如有错误,请轻喷:
推特提供了四种信息流呈现形式,而新浪微博只提供了一种,而新浪微博官方声称由于用户使用较少,甚至隐藏了这个功能。我想为此给 Twitter 竖起大拇指:
No.1 嵌入式用户时间线,呈现与人相关的内容
这个表格应该是题主需要的,也是新浪微博唯一提供的表格。
点击链接
创建新的嵌入式用户时间线
创造。借此机会,我启动了 Twitter,并创建了以下信息流,对不起,只有 Hello World。. .
再说其他三种形式,具体创建方法就不讨论了,推特开发文档
/web/嵌入式时间线
里面很详细。. .
No.2 Embedded List Timeline 呈现与某个主题相关的内容
关注百度血友病的最新发展,应该很适合这种形式。. . 我没有恶意
No.3 Embedded Search Timeline 呈现 Twitter 近几周的搜索热点
和我一样,喜欢看暴走的大事件,爱八卦的可以引用这个表格
No.4 Embedded 采集 Timeline以瀑布流、大图的形式呈现,用户可自定义内容呈现顺序
这简直是为那些年长的文艺女青年量身定做,在丽江晒日光浴,在三亚晒日光浴,顺便回忆一下那些年在夕阳下奔跑的人,然后感叹,人生无非是美好。. . 哈哈哈~~
嗯,如果还有问题或者想交个朋友,可以加微信w7570061,我去追“秦时明月”,一把剑,秦出恋爱。有很多乱七八糟的。如果对你的困惑有帮助,希望你能给个赞。晚上睡觉会更香,谢谢! 查看全部
网站调用新浪微博内容(如何在网站上调用或数据大杂烩Twitter上面的数据?)
谢谢,如果你问我怎么做
我真的没有找到更好的方法来实现这种完全相同的信息流效果,因为观察它的信息流,我会发现它不仅捕获了 Twitter 数据,还捕获了新浪微博和腾讯微博的数据。,QQ签名数据,数据交叉呈现。. . 这完全是各种 API 调用或数据抓取的大杂烩!
至于如何在网站页面调出推特账号发布的最新信息?
我隐约觉得,摆在你面前的第一道关卡就是中国的防火墙,你知道的。. . 否则,您的程序将无法捕获 Twitter 上的数据。. . 这个可以看我自己的网站强发的文章
写诗意的代码
,可以在需要的时候给你一个帮助,免费送你200M的强流量!
真正要做的事情实际上更容易!Twitter的开发者文档已经很详细了,并且给出了很详细的说明,这里是Twitter的开发文档的链接
/web/嵌入式时间线
,如果你懂英文,可以调用推特自动生成的代码或API。
呃,看到了,知乎遇到了翻江的问题,因为推特开发文档链接没有解析成页面标题,还有
siguoya.name/home/os/tools/greenvpn
被自动解析为
写诗意的代码
.
以下是当前学习和销售的内容,如有错误,请轻喷:
推特提供了四种信息流呈现形式,而新浪微博只提供了一种,而新浪微博官方声称由于用户使用较少,甚至隐藏了这个功能。我想为此给 Twitter 竖起大拇指:
No.1 嵌入式用户时间线,呈现与人相关的内容

这个表格应该是题主需要的,也是新浪微博唯一提供的表格。
点击链接
创建新的嵌入式用户时间线
创造。借此机会,我启动了 Twitter,并创建了以下信息流,对不起,只有 Hello World。. .

再说其他三种形式,具体创建方法就不讨论了,推特开发文档
/web/嵌入式时间线
里面很详细。. .
No.2 Embedded List Timeline 呈现与某个主题相关的内容

关注百度血友病的最新发展,应该很适合这种形式。. . 我没有恶意
No.3 Embedded Search Timeline 呈现 Twitter 近几周的搜索热点

和我一样,喜欢看暴走的大事件,爱八卦的可以引用这个表格
No.4 Embedded 采集 Timeline以瀑布流、大图的形式呈现,用户可自定义内容呈现顺序

这简直是为那些年长的文艺女青年量身定做,在丽江晒日光浴,在三亚晒日光浴,顺便回忆一下那些年在夕阳下奔跑的人,然后感叹,人生无非是美好。. . 哈哈哈~~
嗯,如果还有问题或者想交个朋友,可以加微信w7570061,我去追“秦时明月”,一把剑,秦出恋爱。有很多乱七八糟的。如果对你的困惑有帮助,希望你能给个赞。晚上睡觉会更香,谢谢!
网站调用新浪微博内容(Xweibo互通畅游微博世界1.可单独使用新浪微博登录登录)
网站优化 • 优采云 发表了文章 • 0 个评论 • 67 次浏览 • 2022-03-04 09:11
微博是基于新浪微博API开发的免费微博程序。新浪微博是一个开源解决方案,可以在自己的服务器上搭建微博系统。微博基于新浪开放的API,可以通过绑定新浪微博账号实现与新浪微博的无缝对接。拥有目前微博流行的各种丰富功能,长期将与新浪微博全面同步,提供永久升级服务支持。同时提供强大的管理后台,可以为客户提供新的运营支撑,让运营商可以向用户推送内容,与用户进行全方位的互动。微博是完全免费和开源的。如果不能完全满足客户的需求,客户可以自由修改或者给我们提出宝贵的建议,
微博账号,畅游微博世界
1.你可以单独用你的新浪微博账号登录。
2.您可以单独使用网站原创帐户登录。
3.支持网站已有账号和新浪微博账号选择登录。
4.分享新浪微博的海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,获得营销推广机会,与新浪微博共同成长。
微博高效运营管理平台
1.用户认证系统:支持新浪认证、网站认证、新浪认证、网站双重认证切换。
2.内容推荐:根据需要以多种形式推荐用户和话题。
3.界面管理:模板设置,可选两栏或三栏模板。
4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义微博或评论;支持屏蔽用户,支持屏蔽指定用户。
5.换肤机制:灵活的换肤机制,提供多套炫丽皮肤,可定制。
6.异地调用功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的调用,丰富网站其他页面内容。
7.互动模块:活动、直播、现场采访。
8.扩展设置:焦点、配置文件、页眉和页脚的推荐设置。
9.搜索功能:提供用户和微博的综合搜索。
10.数据隔离:您可以选择只显示来自该站点的数据。
11.单个页面可以添加多个同类型组件的功能。
12.更多个性化设置:短链接、个性化域名。
微博完整的内容审核保障信息安全
1.本地数据备份。
2.六层信息安全审计机制:
第一层:用户筛选和屏蔽。
第二层:非法信息发布过滤(新浪微博帮你完成)。
第三层:人工审核信息审核(新浪微博庞大的24小时内容监控团队帮你完成)。
四楼:网站运营商实时排查(微博管理后台可以实时查看网站发的微博并屏蔽)。
第五层:关键词二次过滤(可以在微博管理后台设置关键词过滤)。
第6层:非法消息反馈和删除渠道(可以使用新浪微博举报功能举报需要删除的微博内容)。
微博多个版本
1.支持手机WAP接入。
2.WEB页面信息实时同步,尽享掌上微博乐趣。
WAP不需要设置,直接读取WEB管理后台设置。
推荐配置:Linux + Apache + Mysql + PHP
操作系统:Linux(支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统)
WEB服务器:Apache(支持httpd、Zeus、IIS等WEB服务器)
程序支持:PHP4.3.0及以上(推荐使用5.2系列最新版本) 查看全部
网站调用新浪微博内容(Xweibo互通畅游微博世界1.可单独使用新浪微博登录登录)
微博是基于新浪微博API开发的免费微博程序。新浪微博是一个开源解决方案,可以在自己的服务器上搭建微博系统。微博基于新浪开放的API,可以通过绑定新浪微博账号实现与新浪微博的无缝对接。拥有目前微博流行的各种丰富功能,长期将与新浪微博全面同步,提供永久升级服务支持。同时提供强大的管理后台,可以为客户提供新的运营支撑,让运营商可以向用户推送内容,与用户进行全方位的互动。微博是完全免费和开源的。如果不能完全满足客户的需求,客户可以自由修改或者给我们提出宝贵的建议,
微博账号,畅游微博世界
1.你可以单独用你的新浪微博账号登录。
2.您可以单独使用网站原创帐户登录。
3.支持网站已有账号和新浪微博账号选择登录。
4.分享新浪微博的海量内容,将网站产生的信息通过微博传播到亿万用户的新浪微博平台,获得营销推广机会,与新浪微博共同成长。
微博高效运营管理平台
1.用户认证系统:支持新浪认证、网站认证、新浪认证、网站双重认证切换。
2.内容推荐:根据需要以多种形式推荐用户和话题。
3.界面管理:模板设置,可选两栏或三栏模板。
4.信息安全:屏蔽指定内容;有非法信息过滤机制,还可以自定义微博或评论;支持屏蔽用户,支持屏蔽指定用户。
5.换肤机制:灵活的换肤机制,提供多套炫丽皮肤,可定制。
6.异地调用功能:提供微博展示单元、用户列表单元、互动话题单元、一键关注单元、群微博单元等多种形式的调用,丰富网站其他页面内容。
7.互动模块:活动、直播、现场采访。
8.扩展设置:焦点、配置文件、页眉和页脚的推荐设置。
9.搜索功能:提供用户和微博的综合搜索。
10.数据隔离:您可以选择只显示来自该站点的数据。
11.单个页面可以添加多个同类型组件的功能。
12.更多个性化设置:短链接、个性化域名。
微博完整的内容审核保障信息安全
1.本地数据备份。
2.六层信息安全审计机制:
第一层:用户筛选和屏蔽。
第二层:非法信息发布过滤(新浪微博帮你完成)。
第三层:人工审核信息审核(新浪微博庞大的24小时内容监控团队帮你完成)。
四楼:网站运营商实时排查(微博管理后台可以实时查看网站发的微博并屏蔽)。
第五层:关键词二次过滤(可以在微博管理后台设置关键词过滤)。
第6层:非法消息反馈和删除渠道(可以使用新浪微博举报功能举报需要删除的微博内容)。
微博多个版本
1.支持手机WAP接入。
2.WEB页面信息实时同步,尽享掌上微博乐趣。
WAP不需要设置,直接读取WEB管理后台设置。
推荐配置:Linux + Apache + Mysql + PHP
操作系统:Linux(支持Unix/FreeBSD/Solaris/Windows NT(2000/2003)等操作系统)
WEB服务器:Apache(支持httpd、Zeus、IIS等WEB服务器)
程序支持:PHP4.3.0及以上(推荐使用5.2系列最新版本)
网站调用新浪微博内容(【干货】新浪微博开放平台不是的总结及解决办法!)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-03-04 09:09
这几天,我正在添加一个模块并在新浪微博上分享。一般来说,这并不难,但我还是会遇到一些问题。现在总结记录,分享一下自己的经验。养成良好的总结习惯比盲目地写代码更重要。
首先,作为一个开发者,你必须有一个新浪微博账号,否则你不能算是真正的开发者,如果你连微博都不玩,你也算不上掉丝。停止胡说八道,走上正轨。在新浪微博开放平台新浪微博上,当你创建应用程序时,系统会给你分配appkey和appsecret,以及回调kAPPRedirectURL,前两个是必需的,appkey用于认证,appsecret用于生成请求的requestToken,还有几个名词AccessToken来表示用户的身份,用于微博API调用,ExparitionDate用于判断登录是否过期。RedirectUrl 应用回调页面,但我不明白它有多大用处。我在应用程序中使用了回调页面的 url,但它不起作用。后来用了百度url,还是可行的,需要研究。ssoCallBackScheme为sso回调地址,客户端登录后回调。
第二步,下载sdk和文档,参考sdk自带的demo,有详细介绍。当然,具体的需求还是需要灵活的。按照demo给出的例子,基本可以登录微博了。有两种情况,有新浪微博客户端,没有新浪微博客户端。
第三步:首先将sinWeibo和JosKit这两个文件夹导入到你的项目中。注意不要只引用,而是复制一份添加到项目目录中,否则如果更改项目路径会报错。然后按照demo里一步一步来,里面涉及到sso回调和auoth2.0机制,那么这两者有什么区别,sso回调,其实sdk会自动判断是否有新浪微博客户端如果有则唤醒客户端,否则会去auoth2.0,用自己的浏览器打开网页登录。
第四步:登录成功后,在代理对象中实现协议中的回调方法,等待回调结果。回调有两种类型,登录登录回调和 weiboRequest 回调结果。您可以分别监控这两个回调,并进行不同的处理。
基本流程是这样的。感觉sinaWeibo的SDK写的真好,封装的很强大。这也是未来需要积累的方向,整体结构包装的技巧。 查看全部
网站调用新浪微博内容(【干货】新浪微博开放平台不是的总结及解决办法!)
这几天,我正在添加一个模块并在新浪微博上分享。一般来说,这并不难,但我还是会遇到一些问题。现在总结记录,分享一下自己的经验。养成良好的总结习惯比盲目地写代码更重要。
首先,作为一个开发者,你必须有一个新浪微博账号,否则你不能算是真正的开发者,如果你连微博都不玩,你也算不上掉丝。停止胡说八道,走上正轨。在新浪微博开放平台新浪微博上,当你创建应用程序时,系统会给你分配appkey和appsecret,以及回调kAPPRedirectURL,前两个是必需的,appkey用于认证,appsecret用于生成请求的requestToken,还有几个名词AccessToken来表示用户的身份,用于微博API调用,ExparitionDate用于判断登录是否过期。RedirectUrl 应用回调页面,但我不明白它有多大用处。我在应用程序中使用了回调页面的 url,但它不起作用。后来用了百度url,还是可行的,需要研究。ssoCallBackScheme为sso回调地址,客户端登录后回调。
第二步,下载sdk和文档,参考sdk自带的demo,有详细介绍。当然,具体的需求还是需要灵活的。按照demo给出的例子,基本可以登录微博了。有两种情况,有新浪微博客户端,没有新浪微博客户端。
第三步:首先将sinWeibo和JosKit这两个文件夹导入到你的项目中。注意不要只引用,而是复制一份添加到项目目录中,否则如果更改项目路径会报错。然后按照demo里一步一步来,里面涉及到sso回调和auoth2.0机制,那么这两者有什么区别,sso回调,其实sdk会自动判断是否有新浪微博客户端如果有则唤醒客户端,否则会去auoth2.0,用自己的浏览器打开网页登录。
第四步:登录成功后,在代理对象中实现协议中的回调方法,等待回调结果。回调有两种类型,登录登录回调和 weiboRequest 回调结果。您可以分别监控这两个回调,并进行不同的处理。
基本流程是这样的。感觉sinaWeibo的SDK写的真好,封装的很强大。这也是未来需要积累的方向,整体结构包装的技巧。
网站调用新浪微博内容(新浪微博用户日益增加,有时候会考虑在自己的网站中整合)
网站优化 • 优采云 发表了文章 • 0 个评论 • 63 次浏览 • 2022-03-04 09:09
随着新浪微博用户数量的增加,我们有时会考虑将新浪微博整合到我们的网站中。比如我现在的独立博客。
我博客中的整合主要有以下几个方面:我写了一篇文章文章,会同步发到微博。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
新浪微博开放平台地址在这里。文档地址在这里。
首先要涉及的问题是用户用自己的新浪微博账号登录的问题,也就是授权机制。有两种基本方法:
OAuthBasic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth。因此,这种方法不再讨论,实际上需要用户名和密码的方法本质上是不安全的。)
OAuth新浪官方文档在这里。如果想了解OAuth技术说明,可以访问官方网站。
其实OAuth的过程还是很简单的。大致如下:
调用 API 获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。向新浪微博交换请求令牌以获得访问令牌。结束。
大致了解了OAuth的原理后,既然我们是集成到Django中的,自然需要下载。
不过,在这一切开始之前,您必须向新浪微博申请您的应用程序。申请地址在这里。这里需要强调的是,应用以后需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。(在这个例子中,我们的分类是 Collaboration网站。)
申请完成后,您将获得您的应用程序的 App Key 和 App Secret。
回到授权用户登录的主题。要允许新浪微博帐号访问,首先我们需要在 urlpatterns 中添加几个 URL。如下:
urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
接下来,我们启动视图文件。代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""
from django.http import HttpResponseRedirect
from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth
consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret
class WebOAuthHandler(OAuthHandler):
def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()
# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)
def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url
def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)
def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url
# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)
def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']
auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token
# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)
def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
完成授权码之后,我们就需要知道怎么给新浪微博发消息了。其实下载的SDK下的exanples文件夹下的examples(是的,其实就是examples,这个英文水平不能抱怨),修改后直接使用即可。以 oauthSetTokenUpdate.py 为例,我们可以这样写:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)
status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
运行这个程序会提示一个 URL 链接,在浏览器中打开链接,并授予访问权限,你会得到一串 PIN 码。输入此 PIN 并发送推送,并且还将显示用户的访问令牌密钥和访问令牌密码。
但是,这样做是不是有点太书呆子了?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)
status = api.update_status(status='搞定收工~')
这时候我们可以重构代码,写一个微博类来实现以上功能,实现一些api操作。
class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''
def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''
def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)
def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)
def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id
def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id
def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid
def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid
def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid
def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
不知道读者是否还记得我们上面授权部分的代码。在login_check方法代码中,有这么一句话。
request.session['oauth_access_token'] = access_token
授权用户的 access_token 已存储在 session 变量中。因此,当用户授权完成后,我们可以直接使用 session 中存储的 access_token,如下所示:
access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
上面的例子中只用到了一些 API,完整的 API 手册可以在这里找到。
最后,本文参考了两篇文章文章:《django接入新浪微博OAuth》、《Python for新浪微博API开发介绍》 查看全部
网站调用新浪微博内容(新浪微博用户日益增加,有时候会考虑在自己的网站中整合)
随着新浪微博用户数量的增加,我们有时会考虑将新浪微博整合到我们的网站中。比如我现在的独立博客。
我博客中的整合主要有以下几个方面:我写了一篇文章文章,会同步发到微博。同时,用户可以用自己的微博账号登录,可以选择将文章的评论同步到文章的微博。此外,用户可以选择是否将博客消息同步到新浪微博。
新浪微博开放平台地址在这里。文档地址在这里。
首先要涉及的问题是用户用自己的新浪微博账号登录的问题,也就是授权机制。有两种基本方法:
OAuthBasic auth(需要强调的是,微博开放平台将于6月1日正式停止支持Basic Auth。因此,这种方法不再讨论,实际上需要用户名和密码的方法本质上是不安全的。)
OAuth新浪官方文档在这里。如果想了解OAuth技术说明,可以访问官方网站。
其实OAuth的过程还是很简单的。大致如下:
调用 API 获取请求令牌。将用户重定向到授权页面(auth url)。用户输入用户名和密码完成授权。重定向到 Callback_url。向新浪微博交换请求令牌以获得访问令牌。结束。
大致了解了OAuth的原理后,既然我们是集成到Django中的,自然需要下载。
不过,在这一切开始之前,您必须向新浪微博申请您的应用程序。申请地址在这里。这里需要强调的是,应用以后需要申请审核,因为只有审核通过后,才能在源中显示个性化的应用名称。因此,在申请时,要注意申请介绍信息的完整性和正确的申请分类。(在这个例子中,我们的分类是 Collaboration网站。)
申请完成后,您将获得您的应用程序的 App Key 和 App Secret。
回到授权用户登录的主题。要允许新浪微博帐号访问,首先我们需要在 urlpatterns 中添加几个 URL。如下:
urlpatterns = patterns('projectname.appname.views',
url(r'^log/$', 'login', name='log'),
url(r'^logincheck/$', 'login_check', name='logcheck'),
url(r'^logout/$', 'logout', name='logout'),
)
接下来,我们启动视图文件。代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
基于django的新浪微博oauth views
需要django的session支持
"""
from django.http import HttpResponseRedirect
from weibopy.auth import OAuthHandler, WeibopError
from weibopy import oauth
consumer_key = '' # 设置你申请的appkey
consumer_secret = '' # 设置你申请的appkey对于的secret
class WebOAuthHandler(OAuthHandler):
def get_authorization_url_with_callback(self, callback, signin_with_twitter=False):
"""Get the authorization URL to redirect the user"""
try:
# get the request token
self.request_token = self._get_request_token()
# build auth request and return as url
if signin_with_twitter:
url = self._get_oauth_url('authenticate')
else:
url = self._get_oauth_url('authorize')
request = oauth.OAuthRequest.from_token_and_callback(
token=self.request_token, callback=callback, http_url=url
)
return request.to_url()
except Exception, e:
raise WeibopError(e)
def _get_referer_url(request):
referer_url = request.META.get('HTTP_REFERER', '/')
host = request.META['HTTP_HOST']
if referer_url.startswith('http') and host not in referer_url:
referer_url = '/' # 避免外站直接跳到登录页而发生跳转错误
return referer_url
def _oauth():
"""获取oauth认证类"""
return WebOAuthHandler(consumer_key, consumer_secret)
def login(request):
# 保存最初的登录url,以便认证成功后跳转回来
back_to_url = _get_referer_url(request)
request.session['login_back_to_url'] = back_to_url
# 获取oauth认证url
login_backurl = request.build_absolute_uri('/logincheck')
auth_client = _oauth()
auth_url = auth_client.get_authorization_url_with_callback(login_backurl)
# 保存request_token,用户登录后需要使用它来获取access_token
request.session['oauth_request_token'] = auth_client.request_token
# 跳转到登录页面
return HttpResponseRedirect(auth_url)
def login_check(request):
"""用户成功登录授权后,会回调此方法,获取access_token,完成授权"""
# http://mk2.com/%3Foauth_token% ... 03896
verifier = request.GET.get('oauth_verifier', None)
auth_client = _oauth()
# 设置之前保存在session的request_token
request_token = request.session['oauth_request_token']
del request.session['oauth_request_token']
auth_client.set_request_token(request_token.key, request_token.secret)
access_token = auth_client.get_access_token(verifier)
# 保存access_token,以后访问只需使用access_token即可
request.session['oauth_access_token'] = access_token
# 跳转回最初登录前的页面
back_to_url = request.session.get('login_back_to_url', '/')
return HttpResponseRedirect(back_to_url)
def logout(request):
"""用户登出,直接删除access_token"""
del request.session['oauth_access_token']
back_to_url = _get_referer_url(request)
return HttpResponseRedirect(back_to_url)
完成授权码之后,我们就需要知道怎么给新浪微博发消息了。其实下载的SDK下的exanples文件夹下的examples(是的,其实就是examples,这个英文水平不能抱怨),修改后直接使用即可。以 oauthSetTokenUpdate.py 为例,我们可以这样写:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)
status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text
运行这个程序会提示一个 URL 链接,在浏览器中打开链接,并授予访问权限,你会得到一串 PIN 码。输入此 PIN 并发送推送,并且还将显示用户的访问令牌密钥和访问令牌密码。
但是,这样做是不是有点太书呆子了?其实只要知道Access token key和Access token secret,我们就可以直接使用它们来创建API对象:
# -*- coding: utf-8 -*-
from weibopy.auth import OAuthHandler
from weibopy.api import API
consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'
auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)
status = api.update_status(status='搞定收工~')
这时候我们可以重构代码,写一个微博类来实现以上功能,实现一些api操作。
class weibo(object):
def __init__(self):
self.consumer_key = consumer_key
self.consumer_secret = consumer_secret
def getAtt(self, key):
try:
return self.obj.__getattribute__(key)
except Exception, e:
print e
return ''
def getAttValue(self, obj, key):
try:
return obj.__getattribute__(key)
except Exception, e:
print e
return ''
def auth(self):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
auth_url = self.auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
self.auth.get_access_token(verifier)
self.api = API(self.auth)
def setToken(self, token, tokenSecret):
self.auth = OAuthHandler(self.consumer_key, self.consumer_secret)
self.auth.setToken(token, tokenSecret)
self.api = API(self.auth)
def update(self, message):
message = message.encode("utf-8")
status = self.api.update_status(status=message)
self.obj = status
id = self.getAtt("id")
return id
def destroy_status(self, id):
status = self.api.destroy_status(id)
self.obj = status
id = self.getAtt("id")
return id
def comment(self, id, message):
comment = self.api.comment(id=id, comment=message)
self.obj = comment
mid = self.getAtt("id")
return mid
def comment_destroy (self, mid):
comment = self.api.comment_destroy(mid)
self.obj = comment
mid = self.getAtt("id")
text = self.getAtt("text")
return mid
def repost(self, id, message):
post = self.api.repost(id=id, status=message)
self.obj = post
mid = self.getAtt("id")
return mid
def get_username(self):
if getattr(self, '_username', None) is None:
self._username = self.auth.get_username()
return self._username
不知道读者是否还记得我们上面授权部分的代码。在login_check方法代码中,有这么一句话。
request.session['oauth_access_token'] = access_token
授权用户的 access_token 已存储在 session 变量中。因此,当用户授权完成后,我们可以直接使用 session 中存储的 access_token,如下所示:
access_token = request.session.get('oauth_access_token', None)
if access_token is not None:
weibo_client = weibo()
weibo_client.setToken(access_token.key, access_token.secret)
weibo_client.update('全部完成~')
上面的例子中只用到了一些 API,完整的 API 手册可以在这里找到。
最后,本文参考了两篇文章文章:《django接入新浪微博OAuth》、《Python for新浪微博API开发介绍》
网站调用新浪微博内容(网站调用新浪微博内容时的最新消息和错误信息判断)
网站优化 • 优采云 发表了文章 • 0 个评论 • 71 次浏览 • 2022-03-03 19:02
网站调用新浪微博内容时,如果后端直接返回最新的消息,而不区分用户,那么微博数据库处理时就会产生失效。微博上已有的新内容将因此失效。因此,调用到微博中的新内容都应由客户端获取相应的版本号来区分用户,新的消息由后端新浪微博服务器以内容组方式返回给客户端,客户端根据客户端接受到的最新消息和错误信息判断接受哪些新内容(最新内容可以是最旧的内容)。
我们通常用的错误消息来源有两种:1、来自微博客户端(ui调用消息服务器,加载、显示消息,删除已获取的消息等);2、来自浏览器(内容组通过返回给浏览器的错误消息,最短的通知的消息)。
网页发布的微博数据的时效性问题,是网站的一个痛点,会造成不良的用户体验,原因有以下三个:1.发布的网页页面没有提供显示微博链接2.网页调用的微博数据并不是最新的3.新浪微博内容组获取发布的微博内容,是存在一个过程,那这个过程就是流量分发的一部分(你懂的,人家搜索引擎提供抓取到的,)所以发布的网页是有时效性要求的,那如何应对这个问题,就要做一个这样的功能,微博数据订阅,订阅的时候,有一个最新内容的源和最新内容最近的库,发布后,如果有新内容,那么将从库里面选择出来,然后一定给订阅的人发送一条最新的,如果没有,那么重新订阅下一条内容,这样一来,当有新内容时,对应页面下会有提示不要错过。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容时的最新消息和错误信息判断)
网站调用新浪微博内容时,如果后端直接返回最新的消息,而不区分用户,那么微博数据库处理时就会产生失效。微博上已有的新内容将因此失效。因此,调用到微博中的新内容都应由客户端获取相应的版本号来区分用户,新的消息由后端新浪微博服务器以内容组方式返回给客户端,客户端根据客户端接受到的最新消息和错误信息判断接受哪些新内容(最新内容可以是最旧的内容)。
我们通常用的错误消息来源有两种:1、来自微博客户端(ui调用消息服务器,加载、显示消息,删除已获取的消息等);2、来自浏览器(内容组通过返回给浏览器的错误消息,最短的通知的消息)。
网页发布的微博数据的时效性问题,是网站的一个痛点,会造成不良的用户体验,原因有以下三个:1.发布的网页页面没有提供显示微博链接2.网页调用的微博数据并不是最新的3.新浪微博内容组获取发布的微博内容,是存在一个过程,那这个过程就是流量分发的一部分(你懂的,人家搜索引擎提供抓取到的,)所以发布的网页是有时效性要求的,那如何应对这个问题,就要做一个这样的功能,微博数据订阅,订阅的时候,有一个最新内容的源和最新内容最近的库,发布后,如果有新内容,那么将从库里面选择出来,然后一定给订阅的人发送一条最新的,如果没有,那么重新订阅下一条内容,这样一来,当有新内容时,对应页面下会有提示不要错过。
网站调用新浪微博内容(ForkMeThePython阅读全文大公司都有哪些开源项目~~)
网站优化 • 优采云 发表了文章 • 0 个评论 • 60 次浏览 • 2022-03-03 04:10
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践
推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
开发者必看!探索阿里云大购季开发者分支:海量学习资源0元起!
作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python爬虫框架-PySpider
作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!
作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python 资源
作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是初学者必备的官方教程。本教程适用于Python2.< @k31@ > Series X. 在线阅读 » Fork Me » Python
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等
作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ ------------- ------------------------------------- ------------- -------- 奇虎 36
阅读全文
程序员的技术练级策略
作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障
作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python应用与实践【转】
作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文 查看全部
网站调用新浪微博内容(ForkMeThePython阅读全文大公司都有哪些开源项目~~)
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践

推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
开发者必看!探索阿里云大购季开发者分支:海量学习资源0元起!


作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python爬虫框架-PySpider


作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!


作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
Python 资源


作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是初学者必备的官方教程。本教程适用于Python2.< @k31@ > Series X. 在线阅读 » Fork Me » Python
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等


作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ ------------- ------------------------------------- ------------- -------- 奇虎 36
阅读全文
程序员的技术练级策略


作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障


作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python应用与实践【转】


作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文
网站调用新浪微博内容(两个大V爬了超70W的微博数据(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 80 次浏览 • 2022-03-01 16:06
最近写了一些微博爬虫,用于事件分析。两大V一共爬取了超过70W的微博数据。
官方API的爬取数上限为2000。你要爬的数据太大,不够用……
卷起袖子,自己动手吧!让我简单解释一下我的想法:
一、目标选择
在确定爬取对象时,如果可以满足移动终端显示的数据,则优先选择移动终端。难度要低很多。
二、分析目标网站
在开始构建爬虫之前,需要了解目标的结构网站以及数据是如何传输的。
以这个爬取对象为例:
在开发者模式下,你可以找到构建页面内容的包。 Request URL是页面数据api接口。滚动并加载几页后,您可以找到该模式。
这里 page = 2 控制要滚动的页数。通过构建页面链接,可以抓取微博大V的所有微博数据。
内容类型:应用程序/json; charset=utf-8 表示通过json返回页面数据,编码类型为utf-8。
然后分析json包,里面收录很多数据集,找到你需要的即可:
id是构建某条微博评论链接的关键数据。如果要爬取特定微博下的评论数据,需要使用id值来构造评论页链接。正常感知数据:可直接获取微博内容、评论数、点赞数、分享数、发布时间和来源。
页面分析差不多完成了,可以开始构建微博爬虫了。
三、模拟浏览器请求
正常抓取微博时,需要先登录。在这里您可以使用 post 请求来传递帐户和密码。也可以在浏览器登录后直接使用登录的api链接构造请求头,然后使用get方法进行请求。
这次是以第二种方式实现的。模拟请求头时,只需构造'User-Agent'和'Referer'两组信息即可。
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息',
})
这两组信息都可以在此页面的开发者模式下获得:
(个人信息我已经画好了……)
构造请求头后,使用requests库模拟请求,请求成功网站服务器识别模拟浏览器请求,返回网站的json数据,然后解析通过python json库。
目前的代码是:
# * coding:utf-8 * #声明程序的书写字符
导入请求 #import 请求库
import json #import json 库
def get_data(url):
for a in range (0,560): #通过不断传入参数a来构造链接页码
url = '上面得到的页面链接'+str(a)
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息'})
data = requests.get(url,headers=header,timeout=10) #通过requests的get方法请求
data = json.loads(data.text) #解析json数据
四、数据清洗
拿到json数据后,需要对数据进行清洗,过滤掉想要的字段信息。
再次分析json返回的数据,所有微博内容都放在字典数据下的['cards']中,根据层级关系取出即可。
每个页面会返回10条微博内容,从每个页面的['cards']中依次取出:
对于范围内的 i(0,10):
text = data['data']['cards'][i]['mblog']['text'].strip() #抓取每个页面的所有微博内容
其他数据可按上述方法依次获取,此处不再赘述。
将爬取的数据写入数据库:
如果要爬取每条微博下的所有评论内容,需要先构建评论链接,然后依次请求这些链接。背后的思路类似于爬取微博内容。
刚起步,急需各种呵护~! o(* ̄▽ ̄*)ブ~~ 查看全部
网站调用新浪微博内容(两个大V爬了超70W的微博数据(组图))
最近写了一些微博爬虫,用于事件分析。两大V一共爬取了超过70W的微博数据。
官方API的爬取数上限为2000。你要爬的数据太大,不够用……
卷起袖子,自己动手吧!让我简单解释一下我的想法:
一、目标选择
在确定爬取对象时,如果可以满足移动终端显示的数据,则优先选择移动终端。难度要低很多。
二、分析目标网站
在开始构建爬虫之前,需要了解目标的结构网站以及数据是如何传输的。
以这个爬取对象为例:
在开发者模式下,你可以找到构建页面内容的包。 Request URL是页面数据api接口。滚动并加载几页后,您可以找到该模式。
这里 page = 2 控制要滚动的页数。通过构建页面链接,可以抓取微博大V的所有微博数据。
内容类型:应用程序/json; charset=utf-8 表示通过json返回页面数据,编码类型为utf-8。
然后分析json包,里面收录很多数据集,找到你需要的即可:
id是构建某条微博评论链接的关键数据。如果要爬取特定微博下的评论数据,需要使用id值来构造评论页链接。正常感知数据:可直接获取微博内容、评论数、点赞数、分享数、发布时间和来源。
页面分析差不多完成了,可以开始构建微博爬虫了。
三、模拟浏览器请求
正常抓取微博时,需要先登录。在这里您可以使用 post 请求来传递帐户和密码。也可以在浏览器登录后直接使用登录的api链接构造请求头,然后使用get方法进行请求。
这次是以第二种方式实现的。模拟请求头时,只需构造'User-Agent'和'Referer'两组信息即可。
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息',
})
这两组信息都可以在此页面的开发者模式下获得:
(个人信息我已经画好了……)
构造请求头后,使用requests库模拟请求,请求成功网站服务器识别模拟浏览器请求,返回网站的json数据,然后解析通过python json库。
目前的代码是:
# * coding:utf-8 * #声明程序的书写字符
导入请求 #import 请求库
import json #import json 库
def get_data(url):
for a in range (0,560): #通过不断传入参数a来构造链接页码
url = '上面得到的页面链接'+str(a)
header=({'User-Agent': '在浏览器的开发模式下获取此信息',
'Referer': '在浏览器的开发模式下获取此信息'})
data = requests.get(url,headers=header,timeout=10) #通过requests的get方法请求
data = json.loads(data.text) #解析json数据
四、数据清洗
拿到json数据后,需要对数据进行清洗,过滤掉想要的字段信息。
再次分析json返回的数据,所有微博内容都放在字典数据下的['cards']中,根据层级关系取出即可。
每个页面会返回10条微博内容,从每个页面的['cards']中依次取出:
对于范围内的 i(0,10):
text = data['data']['cards'][i]['mblog']['text'].strip() #抓取每个页面的所有微博内容
其他数据可按上述方法依次获取,此处不再赘述。
将爬取的数据写入数据库:
如果要爬取每条微博下的所有评论内容,需要先构建评论链接,然后依次请求这些链接。背后的思路类似于爬取微博内容。
刚起步,急需各种呵护~! o(* ̄▽ ̄*)ブ~~
网站调用新浪微博内容(python移动端微博信息及用户信息_sina_selenium)
网站优化 • 优采云 发表了文章 • 0 个评论 • 124 次浏览 • 2022-03-01 07:08
Python新浪微博爬虫,爬取微博和用户信息(含源码和示例)
这是新浪微博爬虫,使用python+selenium实现。免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但至少可以运行。同时rar收录源码和爬取示例。参考我的文章:【python爬虫】Selenium爬取新浪微博内容和用户信息【Python爬虫】Selenium爬取新浪微博客户端用户信息、热门话题和评论(上)主要爬取内容包括:新浪微博手机终端用户信息和微博信息。用户信息:包括用户ID、用户名、微博数、关注数、关注数等微博信息:包括转发或原创、点赞数、转发数、评论数、发布时间、微博内容等安装过程:1. 先安装Python环境,作者是Python2.7.82.然后安装pIP或者easy_install3.通过命令pip install selenium安装selenium,是一个工具进行自动测试和爬取4.然后修改代码中的用户名和密码,填写自己的用户名和密码5.运行程序,自动调用火狐浏览器登录微博注意:移动端信息比较精致简洁,对动态加载没有一些限制,但是只显示微博或者粉丝id等20个页面,这是它的缺点;虽然客户端可能有动态加载,比如评论和微博,但它的信息更完整。【源码】抓取手机端微博信息spider_selenium_sina_content。
立即下载 查看全部
网站调用新浪微博内容(python移动端微博信息及用户信息_sina_selenium)
Python新浪微博爬虫,爬取微博和用户信息(含源码和示例)
这是新浪微博爬虫,使用python+selenium实现。免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但至少可以运行。同时rar收录源码和爬取示例。参考我的文章:【python爬虫】Selenium爬取新浪微博内容和用户信息【Python爬虫】Selenium爬取新浪微博客户端用户信息、热门话题和评论(上)主要爬取内容包括:新浪微博手机终端用户信息和微博信息。用户信息:包括用户ID、用户名、微博数、关注数、关注数等微博信息:包括转发或原创、点赞数、转发数、评论数、发布时间、微博内容等安装过程:1. 先安装Python环境,作者是Python2.7.82.然后安装pIP或者easy_install3.通过命令pip install selenium安装selenium,是一个工具进行自动测试和爬取4.然后修改代码中的用户名和密码,填写自己的用户名和密码5.运行程序,自动调用火狐浏览器登录微博注意:移动端信息比较精致简洁,对动态加载没有一些限制,但是只显示微博或者粉丝id等20个页面,这是它的缺点;虽然客户端可能有动态加载,比如评论和微博,但它的信息更完整。【源码】抓取手机端微博信息spider_selenium_sina_content。
立即下载
网站调用新浪微博内容(阿里云gt云栖主题地图:新浪微博api获取数据(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 81 次浏览 • 2022-02-27 21:09
阿里云 > 云栖社区 > 主题地图 > X > 新浪微博api获取数据
推荐活动:
更多优惠>
当前话题:新浪微博api获取数据加入采集
相关话题:
新浪微博api获取数据相关博客看更多博文
使用新浪微博API的Search接口做微博锐排
作者:郑云1802浏览量:05年前
郑云20100929申请入口:简单介绍一下我们的榜单与新浪自己的热门转发榜单的区别:微博睿推榜单会忽略名人推文,更关注草根推文,更关注社会民生推文,屏蔽非- 有营养的推文。微博锐推列表将汇总以新浪微博为首的国内主要微博网站的信息
阅读全文
iOS:新浪微博OAuth认证
作者:犹豫1185查看评论:04年前
新浪微博OAuth认证1、资源授权•在腾讯、新浪等互联网行业,用户群体非常庞大•有时需要共享一些用户资源,比如第三方想要访问用户的QQ数据,第三方想要访问用户的新浪微博数据 • 如果要共享用户资源,必须征得用户的同意,那么这里就有资源。
阅读全文
新浪微博发展(一)
作者:nothingfinal1071 浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台老API中的PHP例程
作者:何立坚 1019 浏览评论:010年前
相关文章:一、PHP+新浪微博开放平台+新浪云平台(SAE)解决方案基础二、微博应用搭建流程三、PHP中的demo程序SDK简析四、进一步学习趋势和有用资源五、必须说明的几个问题【PDF全文下载】本文是新浪微博老API中的一个PHP例程,可以用作起点
阅读全文
新浪微博发展(一)
作者:xumaojun1002人浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台开发步骤介绍(适合新手)
作者:技术组合950人查看评论数:04年前
我也是新手,第一次使用开放平台进行开发。起初,我觉得我无处可去。经过长时间的摸索,终于成功调用了API。现在把这段经历介绍给新手(高手不用看,当然如果大家能提出一些意见和建议,非常感谢),也想和大家交流。本示例介绍如何使用 API 提交数据(发布微
阅读全文
开放平台:新浪微博 for iOS
作者:余书仪 845 浏览评论:09年前
简介:新浪微博几乎打通了所有平台数据的API接口。所以很多优秀的第三方微博客户端在功能上都非常全面。通过 SNS 进行分享和推广的方式已经在 App 世界中使用。它很常见,随处可见。本文主要介绍App与新浪微博的关联方式。参考:1.开发
阅读全文
Python调用微博API获取微博内容
作者:745 浏览评论:05年前
1:获取app-key和app-secret 用自己的微博账号()登录微博开放平台,在微博开放中心下的“创建应用”下创建应用。随意填写申请信息。填写后就不需要了。提交审核,只需要那个app-ke
阅读全文 查看全部
网站调用新浪微博内容(阿里云gt云栖主题地图:新浪微博api获取数据(组图))
阿里云 > 云栖社区 > 主题地图 > X > 新浪微博api获取数据

推荐活动:
更多优惠>
当前话题:新浪微博api获取数据加入采集
相关话题:
新浪微博api获取数据相关博客看更多博文
使用新浪微博API的Search接口做微博锐排

作者:郑云1802浏览量:05年前
郑云20100929申请入口:简单介绍一下我们的榜单与新浪自己的热门转发榜单的区别:微博睿推榜单会忽略名人推文,更关注草根推文,更关注社会民生推文,屏蔽非- 有营养的推文。微博锐推列表将汇总以新浪微博为首的国内主要微博网站的信息
阅读全文
iOS:新浪微博OAuth认证


作者:犹豫1185查看评论:04年前
新浪微博OAuth认证1、资源授权•在腾讯、新浪等互联网行业,用户群体非常庞大•有时需要共享一些用户资源,比如第三方想要访问用户的QQ数据,第三方想要访问用户的新浪微博数据 • 如果要共享用户资源,必须征得用户的同意,那么这里就有资源。
阅读全文
新浪微博发展(一)


作者:nothingfinal1071 浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台老API中的PHP例程

作者:何立坚 1019 浏览评论:010年前
相关文章:一、PHP+新浪微博开放平台+新浪云平台(SAE)解决方案基础二、微博应用搭建流程三、PHP中的demo程序SDK简析四、进一步学习趋势和有用资源五、必须说明的几个问题【PDF全文下载】本文是新浪微博老API中的一个PHP例程,可以用作起点
阅读全文
新浪微博发展(一)


作者:xumaojun1002人浏览评论:08年前
这几天一直在研究新浪微博的授权验证。我在论坛上传了一个例子,找到了一个相关的博客文章。. 本以为很容易理解,但花了很长时间,我还是一头雾水。. 后来想了想,其实别人提供的也只是一些接口和方法,我也没有认真研究过授权过程,所以比较关心代码中那些奇怪的方法。
阅读全文
新浪微博开放平台开发步骤介绍(适合新手)


作者:技术组合950人查看评论数:04年前
我也是新手,第一次使用开放平台进行开发。起初,我觉得我无处可去。经过长时间的摸索,终于成功调用了API。现在把这段经历介绍给新手(高手不用看,当然如果大家能提出一些意见和建议,非常感谢),也想和大家交流。本示例介绍如何使用 API 提交数据(发布微
阅读全文
开放平台:新浪微博 for iOS

作者:余书仪 845 浏览评论:09年前
简介:新浪微博几乎打通了所有平台数据的API接口。所以很多优秀的第三方微博客户端在功能上都非常全面。通过 SNS 进行分享和推广的方式已经在 App 世界中使用。它很常见,随处可见。本文主要介绍App与新浪微博的关联方式。参考:1.开发
阅读全文
Python调用微博API获取微博内容


作者:745 浏览评论:05年前
1:获取app-key和app-secret 用自己的微博账号()登录微博开放平台,在微博开放中心下的“创建应用”下创建应用。随意填写申请信息。填写后就不需要了。提交审核,只需要那个app-ke
阅读全文
网站调用新浪微博内容(阿里云Hi购季云栖社区gtgt主题地图(组图))
网站优化 • 优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-27 21:07
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践
推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
程序员的技术练级策略
作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!
作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
开发者必看!探索阿里云大购季开发者分支:0元起海量学习资源!
作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等
作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ --- ------------------------------------------------------------ -----------奇虎36
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障
作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python爬虫框架-PySpider
作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
Python 资源
作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是Python初学者必备的官方教程。本教程适用于Python2. 7.@ > X 系列。在线阅读 » Fork Me » The Python
阅读全文
Python应用与实践【转】
作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文 查看全部
网站调用新浪微博内容(阿里云Hi购季云栖社区gtgt主题地图(组图))
阿里云 > 云栖社区 > 主题图 > P > Python调用新浪微博API实践

推荐活动:
更多优惠>
当前话题: Python调用新浪微博api实践 加入采集
相关话题:
Python调用新浪微博api实践相关博客看更多博文
程序员的技术练级策略


作者:马哥 Linux2163 浏览评论:02年前
月光博客 6 月 12 日发表《给新手程序员的一封信》,翻译自《一封给那些想开始编程的人的公开信》,我的朋友(他在这个网站上的 id 是 Mailper)告诉我,他想看更多Cool Shell 上可操作的 文章
阅读全文
开发者干货合集!阿里巴巴开源、移动开发、机器学习等海量资源限时开放!


作者:阿里云活动秘书6535查看评论:22年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
开发者必看!探索阿里云大购季开发者分支:0元起海量学习资源!


作者:阿里云活动秘书 13543 浏览评论:42年前
2019阿里云Hi购物季已于2月25日正式开启。从公开活动页面来看,活动分为三个阶段:活动报名阶段2月25日至3月04日,3月04日3月16日至3月16日,新购返利+抢购阶段50%,以及3月16日至3月31日期间,续费抽奖+50%的抢购阶段。活动核心亮点:作为
阅读全文
大公司都有哪些开源项目~~~阿里、百度、腾讯、360、新浪、网易、小米等


作者:xumaojun3896人浏览评论:03年前
红色字体现阶段比较流行------------------------------------------ --- ------------------------------------------------------------ -----------奇虎36
阅读全文
DockOne微信分享(一四三):FreeWheel基于Kubernetes容器云建设与实践:应用编排与服务质量保障


作者:猫范先生 2161 浏览评论:04年前
本文为DockOne微信分享(14三):FreeWheel基于Kubernetes容器云的建设与实践:应用编排与服务质量保障【编者的话】随着公司业务的不断发展,逐步向微服务转型,我们借助 Kubernetes 容器化解决方案标准化和简化应用发布的整个过程,
阅读全文
Python爬虫框架-PySpider


作者:shadowcat7965 浏览人数评论:04年前
From: From: PySpider PySpider github地址PySpider官方文档PySpi
阅读全文
Python 资源


作者:方北工作室 4477 浏览评论:05年前
Python教程(Python中文翻译版2.7.11)。Python教程是Python初学者必备的官方教程。本教程适用于Python2. 7.@ > X 系列。在线阅读 » Fork Me » The Python
阅读全文
Python应用与实践【转】


作者:sky-heaven1726 人浏览评论:05年前
来自:目录 1.什么是 Python?1.1.Python 语言1.2.Python 哲学2.
阅读全文
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
网站优化 • 优采云 发表了文章 • 0 个评论 • 93 次浏览 • 2022-02-26 12:06
这几天为了发论文,需要采集新浪微博的用户关系信息,形成一个复杂网络的结构图。好在微博提供了一个API供我们调用。折腾了一天,终于有了小收获。总结如下:
1.下载SDK
如果使用python调用API,必须先到下一个Python SDK,sinweibopy
连接地址在这里:
可以使用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是上一篇中分配给各个应用的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,但可以随便设置。
更恶心的是代码的获取。第一次看sinweibopy的文档的时候没明白什么意思。如上代码所示,获取到的url是一个授权的网站。
webbrowser.open_new(url)
这行代码打开浏览器跳转到授权的界面,然后观察其所在界面的URL,会显示大致相同的格式如下:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有一个code=...,就是把等号后面的字符串复制过来赋值给代码,但是每次运行程序,代码都不是静态的,也就是说必须有每次都是这样的手册。收购过程对我来说很麻烦。以后自己研究,实现自动取码。谁能告诉我,不胜感激~
好了,拿到正确的代码后,就可以完成授权认证了,可以调用微博的API了。至于Python下怎么调用,我复制一下sinweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source:字符串,OAuth授权方式不需要该参数,其他授权方式需要。值是 AppKey?的应用程序。
access_token:字符串,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是文件还是字段。您可以通过 StringIO 将 str 包装到类似文件的对象中 查看全部
网站调用新浪微博内容(新浪微博调用API的话,折腾一天终于小有收获,总结如下)
这几天为了发论文,需要采集新浪微博的用户关系信息,形成一个复杂网络的结构图。好在微博提供了一个API供我们调用。折腾了一天,终于有了小收获。总结如下:
1.下载SDK
如果使用python调用API,必须先到下一个Python SDK,sinweibopy
连接地址在这里:
可以使用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是上一篇中分配给各个应用的信息。回调地址可以在各个应用的高级信息中看到。需要自己设置,但可以随便设置。
更恶心的是代码的获取。第一次看sinweibopy的文档的时候没明白什么意思。如上代码所示,获取到的url是一个授权的网站。
webbrowser.open_new(url)
这行代码打开浏览器跳转到授权的界面,然后观察其所在界面的URL,会显示大致相同的格式如下:
http://apps.weibo.com/sayarywe ... abdbe
看见?问号后面有一个code=...,就是把等号后面的字符串复制过来赋值给代码,但是每次运行程序,代码都不是静态的,也就是说必须有每次都是这样的手册。收购过程对我来说很麻烦。以后自己研究,实现自动取码。谁能告诉我,不胜感激~
好了,拿到正确的代码后,就可以完成授权认证了,可以调用微博的API了。至于Python下怎么调用,我复制一下sinweibopy上的介绍:
首先查看新浪微博API文档,例如:
API:状态/用户时间线
请求格式:GET
请求参数:
source:字符串,OAuth授权方式不需要该参数,其他授权方式需要。值是 AppKey?的应用程序。
access_token:字符串,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是文件还是字段。您可以通过 StringIO 将 str 包装到类似文件的对象中
网站调用新浪微博内容(一条微博审核之后,希望能提取摘要,自动同步发布)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-25 20:10
任务
发完博客,希望提取摘要,自动同步发一条微博;
准备好工作了
作为新浪微博的开发者,需要进行身份验证;
个人身份认证审核一般需要1个工作日;
下一步是提交网站的review,国内是提交备案号。海外投稿,网站的海外证明即可;也是一个工作日左右;
通过个人身份审核后,可以创建应用和调用接口,此时获得的权限比较低;
网站不提交审核或审核不通过,不影响微博发帖;它只会在已发布的微博下显示“未审核的申请”;
网站审核后显示的应用名称:
调用接口
微博开放平台提供测试工具;
在开发接入之前,首先要保证测试微博可以通过这个测试工具发出;
%E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7
发送微博的api参考文档为:
所有发送微博的接口都需要授权认证;认证通过后,会得到一个access_token(访问密钥);密钥的有效期根据用户级别而有所不同;
网络审查不合格者1天;审核通过的普通用户7天;
在有效期内,无需与新浪服务器交互进行授权认证。只要这个token存储在本地,就可以用来调用各种微博API(读、写、获取受众信息等)
权威认证
授权认证的三种方式:
通过用户名和密码;
这个最容易理解,在程序中写下微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,这个接口是为app的开发提供的,不能使用web应用;
通过web回调方法;
需要与新浪服务器交互并提供回调地址;获取回调地址中的access_token;
第三种方法是代码方法,不仔细看,略过;
web应用只支持第二种授权方式;下面详细介绍第二种方法的使用:
下载新浪提供的SDK,收录demo和api封装类;
访问页面:
调用.php:
1include_once( 'sina_config.php' );
2include_once( 'saetv2.ex.class.php' );
3
4//获取到授权的url
5$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
6$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
7
8//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
9request()->redirect($code_url);
10
回调地址页(WB_CALLBACK_URL):
回调.php
博客的抽象提取
微博字数140字;汉字为1个字符;我们使用计数功能来选择;对于一个汉字,strlen()算3个字符,而多字节统计函数mb_strlen()算1个字符,符合我们的使用要求;
最后,需要清除已发布微博中的html标签等
1 //获取当前微博内容(140字)
2 public function getWeibo()
3 {
4 $titleLen = mb_strlen($this->title, 'UTF-8');
5 //140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
6 $summaryLen = 115 - $titleLen ;
7
8 $pubPaper = cutstr_html($this->summary);
9 if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
10 $pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
11
12 $pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
13
14 return $pubPaper;
15 }
16
17//完全的去除html标记
18function cutstr_html($string)
19{
20 $string = strip_tags($string);
21 $string = preg_replace ('/n/is', '', $string);
22 $string = preg_replace ('/ | /is', '', $string);
23 $string = preg_replace ('/ /is', '', $string);
24
25 return $string;
26}
27
超过。
发布者:大CC | 2013 年 11 月 30 日
博客:
微博:新浪微博 查看全部
网站调用新浪微博内容(一条微博审核之后,希望能提取摘要,自动同步发布)
任务
发完博客,希望提取摘要,自动同步发一条微博;
准备好工作了
作为新浪微博的开发者,需要进行身份验证;
个人身份认证审核一般需要1个工作日;
下一步是提交网站的review,国内是提交备案号。海外投稿,网站的海外证明即可;也是一个工作日左右;
通过个人身份审核后,可以创建应用和调用接口,此时获得的权限比较低;
网站不提交审核或审核不通过,不影响微博发帖;它只会在已发布的微博下显示“未审核的申请”;
网站审核后显示的应用名称:
调用接口
微博开放平台提供测试工具;
在开发接入之前,首先要保证测试微博可以通过这个测试工具发出;
%E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAI%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7
发送微博的api参考文档为:
所有发送微博的接口都需要授权认证;认证通过后,会得到一个access_token(访问密钥);密钥的有效期根据用户级别而有所不同;
网络审查不合格者1天;审核通过的普通用户7天;
在有效期内,无需与新浪服务器交互进行授权认证。只要这个token存储在本地,就可以用来调用各种微博API(读、写、获取受众信息等)
权威认证
授权认证的三种方式:
通过用户名和密码;
这个最容易理解,在程序中写下微博账号的用户名和密码,使用api调用进行认证;但需要注意的是,这个接口是为app的开发提供的,不能使用web应用;
通过web回调方法;
需要与新浪服务器交互并提供回调地址;获取回调地址中的access_token;
第三种方法是代码方法,不仔细看,略过;
web应用只支持第二种授权方式;下面详细介绍第二种方法的使用:
下载新浪提供的SDK,收录demo和api封装类;
访问页面:
调用.php:
1include_once( 'sina_config.php' );
2include_once( 'saetv2.ex.class.php' );
3
4//获取到授权的url
5$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
6$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL );
7
8//post或get方式调用该url,取得授权;授权完成后,新浪会调用我们这边传过去的回调地址:WB_CALLBACK_URL
9request()->redirect($code_url);
10
回调地址页(WB_CALLBACK_URL):
回调.php
博客的抽象提取
微博字数140字;汉字为1个字符;我们使用计数功能来选择;对于一个汉字,strlen()算3个字符,而多字节统计函数mb_strlen()算1个字符,符合我们的使用要求;
最后,需要清除已发布微博中的html标签等
1 //获取当前微博内容(140字)
2 public function getWeibo()
3 {
4 $titleLen = mb_strlen($this->title, 'UTF-8');
5 //140字除去链接的20个字和省略符;剩115字左右,需要说明的是链接:无论文章的链接多长,在微博里都会被替换成短链接,按短链接的长度来计算字数;
6 $summaryLen = 115 - $titleLen ;
7
8 $pubPaper = cutstr_html($this->summary);
9 if(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen)
10 $pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8');
11
12 $pubPaper = sprintf('【%s】%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this->id)));
13
14 return $pubPaper;
15 }
16
17//完全的去除html标记
18function cutstr_html($string)
19{
20 $string = strip_tags($string);
21 $string = preg_replace ('/n/is', '', $string);
22 $string = preg_replace ('/ | /is', '', $string);
23 $string = preg_replace ('/ /is', '', $string);
24
25 return $string;
26}
27
超过。
发布者:大CC | 2013 年 11 月 30 日
博客:
微博:新浪微博
网站调用新浪微博内容(如何使用微博API做初步性的介绍-本文数据获取)
网站优化 • 优采云 发表了文章 • 0 个评论 • 69 次浏览 • 2022-02-23 19:18
做没有稻草的砖。
数据采集是数据分析的前提。很多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博 API 列表。
商业数据API(如place/nearby_timeline/biz)是一个收费接口。如果要调用该类接口,需要支付一定的费用并完成相应的接入工作。您可以参考商业数据API访问指南。
本文将对如何使用微博API进行初步介绍,从而获得基本的概念和理解,方便后面深入了解。
文章目录step1:使用python调用微博API,首先下载python SDK,即sinweibopy
sinaweibopy 是一个支持微博 API 的特定于 python 的 OAuth 2 客户端。无依赖,100%纯Py,单一文件,代码简洁,运行可靠。也是新浪微博推荐的官方Python SDK。
可以直接通过 pip 安装:
1pip install sinaweibopy
2
3
什么是 SDK?SDK的英文全称是software development kit(软件开发工具包)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。当您为应用程序编写代码时,您不需要像在实际屏幕上绘制文本那样重复代码。使用 SDK 可以帮助您做到这一点。总而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
step2:了解新浪微博的授权机制,即OAuth 2
API 调用需要用户认证(用户授权)。目前OAuth2.0主要用于微博开放平台上的用户身份认证。
OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。
用户授权浏览器后,URL 如下所示:
我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
了解了上面的机制之后,我们就知道如何编写代码来调用API了。
step3:在微博开放平台上创建自己的应用
现在让我们创建自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
我们使用微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序密码。您可以在“我的申请-申请信息-基本信息”中查询,将用于授权。注意:无需提交审核,您只需要应用程序密钥和应用程序密钥即可。
如果是异地网页应用或者手机客户端应用,出于安全考虑,需要填写平台网站的redirect_url(授权回调页面)才能使用OAuth2.0。地址填写为“我的申请>申请信息>高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:
step4:python代码实现
首先,导入所需的模块:
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4
使用微博 SDK 创建我们的应用程序:
1APP_KEY = '123456'
2APP_SECRET = 'abc123xyz456'
3CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
4client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
5
6
获取授权页面的url(%3A///oauth2/default.html&response_type=code&client_id=729983294)。用webbrowser打开这个url,会引起浏览器打开
1url=client.get_authorize_url() #得到授权页面的url
2webbrowser.open_new(url) #打开这个url
3
4
用户完成授权后,url 如下所示: . 我们需要code=后面的内容。
1code = input('输入url中code后面的内容后按回车键:')
2
3
使用代码获取访问令牌:
1r = client.request_access_token(code)
2access_token = r.access_token # 新浪(授权服务器)返回的token
3expires_in = r.expires_in
4
5
您可以打印 r 以查看其中的内容:
1print(r)
2# {'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
3
4
设置获取到的access_token后,可以直接调用API:
1client.set_access_token(access_token, expires_in)
2
3
输出最新的公众微博:
1print(client.statuses.public_timeline.get())
2
3
具体返回内容可以查看微博API文档。
例如,我们可以输出用户的昵称、简历、位置和推文:
1statuses = client.statuses.public_timeline.get().statuses
2l = len(statuses)
3
4for i in range(0,l):
5 print(u'昵称:'+statuses[i]['user']['screen_name'])
6 print(u'简介:'+statuses[i]['user']['description'])
7 print(u'位置:'+statuses[i]['user']['location'])
8 print(u'微博:'+statuses[i]['text'])
9
10
step5:完整代码
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4APP_KEY = '123456'
5APP_SECRET = 'abc123xyz456'
6CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
7client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
8
9url=client.get_authorize_url() #得到授权页面的url
10webbrowser.open_new(url) #打开这个url
11
12code = input('输入url中code后面的内容后按回车键:')
13
14r = client.request_access_token(code)
15access_token = r.access_token # 新浪(授权服务器)返回的token
16expires_in = r.expires_in
17
18client.set_access_token(access_token, expires_in)
19print(client.statuses.public_timeline.get())
20
21statuses = client.statuses.public_timeline.get().statuses
22l = len(statuses)
23
24for i in range(0,l):
25 print(u'昵称:'+statuses[i]['user']['screen_name'])
26 print(u'简介:'+statuses[i]['user']['description'])
27 print(u'位置:'+statuses[i]['user']['location'])
28 print(u'微博:'+statuses[i]['text'])
29
30
31
参考:
python调用微博API
如何通过python调用新浪微博的API 查看全部
网站调用新浪微博内容(如何使用微博API做初步性的介绍-本文数据获取)
做没有稻草的砖。
数据采集是数据分析的前提。很多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。您可以查看微博 API 列表。
商业数据API(如place/nearby_timeline/biz)是一个收费接口。如果要调用该类接口,需要支付一定的费用并完成相应的接入工作。您可以参考商业数据API访问指南。
本文将对如何使用微博API进行初步介绍,从而获得基本的概念和理解,方便后面深入了解。
文章目录step1:使用python调用微博API,首先下载python SDK,即sinweibopy
sinaweibopy 是一个支持微博 API 的特定于 python 的 OAuth 2 客户端。无依赖,100%纯Py,单一文件,代码简洁,运行可靠。也是新浪微博推荐的官方Python SDK。
可以直接通过 pip 安装:
1pip install sinaweibopy
2
3
什么是 SDK?SDK的英文全称是software development kit(软件开发工具包)。简而言之,它是一个代码库,其中收录用于开发应用程序的可重用代码。当您为应用程序编写代码时,您不需要像在实际屏幕上绘制文本那样重复代码。使用 SDK 可以帮助您做到这一点。总而言之,所有这些代码库和一些其他工具构成了我们所说的 SDK。
step2:了解新浪微博的授权机制,即OAuth 2
API 调用需要用户认证(用户授权)。目前OAuth2.0主要用于微博开放平台上的用户身份认证。
OAuth2.0协议的授权过程请参考如下流程图,其中Client指的是第三方应用(即我们自己在第三步创建的应用),Resource Owner指的是用户,授权服务器是我们的授权服务器,资源服务器是API服务器。
从流程图可以看出,为了调用API server内容,需要将access token告诉API server;访问令牌由新浪(授权服务器)在用户授权后返回给我们创建的应用程序;为了完成用户授权,我们的应用首先要给用户授权页面(授权请求)。

用户授权浏览器后,URL 如下所示:
我们需要将代码后面的字符串提交给新浪授权服务器来获取访问令牌。相当于告诉新浪服务器我们的应用已经被用户授权,现在可以访问用户的数据了,所以授权服务器给了我们一个访问令牌,我们就可以从API服务器获取微博数据了。
了解了上面的机制之后,我们就知道如何编写代码来调用API了。
step3:在微博开放平台上创建自己的应用
现在让我们创建自己的应用程序。创建应用程序的目的是获取应用程序密钥和应用程序机密。
我们使用微连接创建移动应用程序。您还可以创建其他类型的应用程序。创建应用程序后,将分配唯一的应用程序密钥和应用程序密码。您可以在“我的申请-申请信息-基本信息”中查询,将用于授权。注意:无需提交审核,您只需要应用程序密钥和应用程序密钥即可。
如果是异地网页应用或者手机客户端应用,出于安全考虑,需要填写平台网站的redirect_url(授权回调页面)才能使用OAuth2.0。地址填写为“我的申请>申请信息>高级信息”。这里,我们将授权回调页面和取消授权回调页面都设置为默认回调页面:

step4:python代码实现
首先,导入所需的模块:
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4
使用微博 SDK 创建我们的应用程序:
1APP_KEY = '123456'
2APP_SECRET = 'abc123xyz456'
3CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
4client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
5
6
获取授权页面的url(%3A///oauth2/default.html&response_type=code&client_id=729983294)。用webbrowser打开这个url,会引起浏览器打开
1url=client.get_authorize_url() #得到授权页面的url
2webbrowser.open_new(url) #打开这个url
3
4

用户完成授权后,url 如下所示: . 我们需要code=后面的内容。
1code = input('输入url中code后面的内容后按回车键:')
2
3
使用代码获取访问令牌:
1r = client.request_access_token(code)
2access_token = r.access_token # 新浪(授权服务器)返回的token
3expires_in = r.expires_in
4
5
您可以打印 r 以查看其中的内容:
1print(r)
2# {'access_token': u'abcqwe123', 'expires': 1662109746, 'expires_in': 1662109746, 'uid': u'2164581421'}
3
4
设置获取到的access_token后,可以直接调用API:
1client.set_access_token(access_token, expires_in)
2
3
输出最新的公众微博:
1print(client.statuses.public_timeline.get())
2
3
具体返回内容可以查看微博API文档。
例如,我们可以输出用户的昵称、简历、位置和推文:
1statuses = client.statuses.public_timeline.get().statuses
2l = len(statuses)
3
4for i in range(0,l):
5 print(u'昵称:'+statuses[i]['user']['screen_name'])
6 print(u'简介:'+statuses[i]['user']['description'])
7 print(u'位置:'+statuses[i]['user']['location'])
8 print(u'微博:'+statuses[i]['text'])
9
10

step5:完整代码
1from weibo import APIClient
2import webbrowser #python内置的包,支持对浏览器进行操作
3
4APP_KEY = '123456'
5APP_SECRET = 'abc123xyz456'
6CALLBACK_URL = 'https://api.weibo.com/oauth2/d ... 27%3B #回调授权页面,用户完成授权后返回的页面
7client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
8
9url=client.get_authorize_url() #得到授权页面的url
10webbrowser.open_new(url) #打开这个url
11
12code = input('输入url中code后面的内容后按回车键:')
13
14r = client.request_access_token(code)
15access_token = r.access_token # 新浪(授权服务器)返回的token
16expires_in = r.expires_in
17
18client.set_access_token(access_token, expires_in)
19print(client.statuses.public_timeline.get())
20
21statuses = client.statuses.public_timeline.get().statuses
22l = len(statuses)
23
24for i in range(0,l):
25 print(u'昵称:'+statuses[i]['user']['screen_name'])
26 print(u'简介:'+statuses[i]['user']['description'])
27 print(u'位置:'+statuses[i]['user']['location'])
28 print(u'微博:'+statuses[i]['text'])
29
30
31
参考:
python调用微博API
如何通过python调用新浪微博的API
网站调用新浪微博内容(网站调用新浪微博内容,替换掉原网站上的相关图片)
网站优化 • 优采云 发表了文章 • 0 个评论 • 61 次浏览 • 2022-02-23 13:00
网站调用新浪微博内容,替换掉原网站上的相关图片就可以了!可以搜索到:,具体细节如何将png设置为通用图片、如何同步pdf文件等,
选择正确的png替换位置很重要,建议在原网站图片的空白处替换,试试我的接口,
右键png图片--选择网络图片--右上角注册--返回已登录页面
如果有第三方,用第三方,比如新浪微博的api。然后用api接口自己调用,那样有备案,安全稳定。百度找这种第三方一大堆。自己是没有的。
按图上所示,将文本发送到百度并粘贴并将文本发送到png.webdn.to.png文件,在png.webdn.to.to.content/existing.png下载即可。png.webdn.to.to.content/existing.png为图片资源。
选一个微博api,在微博网站后台你提供的目录\api\api.json里面,里面有个图片如果是直接发给你,获取的不是png,而是jpg、gif等等格式这个和你的图片的格式,文件名的大小有关,如果是jpg,那么要指定大小所以要看你发的第几张图,
直接,
在微博网站的空白处上传图片,然后上传图片到百度api接口中,在界面上的任意位置打开百度api接口进行转换后发给微博网站即可。 查看全部
网站调用新浪微博内容(网站调用新浪微博内容,替换掉原网站上的相关图片)
网站调用新浪微博内容,替换掉原网站上的相关图片就可以了!可以搜索到:,具体细节如何将png设置为通用图片、如何同步pdf文件等,
选择正确的png替换位置很重要,建议在原网站图片的空白处替换,试试我的接口,
右键png图片--选择网络图片--右上角注册--返回已登录页面
如果有第三方,用第三方,比如新浪微博的api。然后用api接口自己调用,那样有备案,安全稳定。百度找这种第三方一大堆。自己是没有的。
按图上所示,将文本发送到百度并粘贴并将文本发送到png.webdn.to.png文件,在png.webdn.to.to.content/existing.png下载即可。png.webdn.to.to.content/existing.png为图片资源。
选一个微博api,在微博网站后台你提供的目录\api\api.json里面,里面有个图片如果是直接发给你,获取的不是png,而是jpg、gif等等格式这个和你的图片的格式,文件名的大小有关,如果是jpg,那么要指定大小所以要看你发的第几张图,
直接,
在微博网站的空白处上传图片,然后上传图片到百度api接口中,在界面上的任意位置打开百度api接口进行转换后发给微博网站即可。
网站调用新浪微博内容(网上翻到一段代码实现新浪微博分享功能的实现(图) )
网站优化 • 优采云 发表了文章 • 0 个评论 • 72 次浏览 • 2022-02-19 05:08
)
在网上找了一段代码,可以实现新浪微博分享功能的实现,写个实际例子,分享给大家!
在这个效果中,调用了文字和图片,点击按钮后,可以分享图片和文字。
主要使用dom操作相关的知识。在分享功能中,重要的部分是'&title=',e(window.sharetitle)和'&pic=',e(window.shareUrl)的设置。从代码可以看出,调用了新浪微博的share.php文件,传递了u、p等属性的属性值。
效果实现:
Document
<p id="p1">点击下面的按钮可以将这段文字和图片分享到新浪微博哦!@飞鱼
<img src='http://xinji1101.sinaapp.com/b.jpg'/>
$('#btn').click(function(){
window.sharetitle = $(this).siblings('#p1').html();
window.shareUrl = $(this).siblings('img').attr('src');
share();
});
function share(){
//d指的是window
(function(s,d,e){try{}catch(e){}var f='http://v.t.sina.com.cn/share/share.php?',u=d.location.href,p=['url=',e(u),'&title=',e(window.sharetitle),'&appkey=2924220432','&pic=',e(window.shareUrl)].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent);
}
</p> 查看全部
网站调用新浪微博内容(网上翻到一段代码实现新浪微博分享功能的实现(图)
)
在网上找了一段代码,可以实现新浪微博分享功能的实现,写个实际例子,分享给大家!
在这个效果中,调用了文字和图片,点击按钮后,可以分享图片和文字。
主要使用dom操作相关的知识。在分享功能中,重要的部分是'&title=',e(window.sharetitle)和'&pic=',e(window.shareUrl)的设置。从代码可以看出,调用了新浪微博的share.php文件,传递了u、p等属性的属性值。
效果实现:
Document
<p id="p1">点击下面的按钮可以将这段文字和图片分享到新浪微博哦!@飞鱼
<img src='http://xinji1101.sinaapp.com/b.jpg'/>
$('#btn').click(function(){
window.sharetitle = $(this).siblings('#p1').html();
window.shareUrl = $(this).siblings('img').attr('src');
share();
});
function share(){
//d指的是window
(function(s,d,e){try{}catch(e){}var f='http://v.t.sina.com.cn/share/share.php?',u=d.location.href,p=['url=',e(u),'&title=',e(window.sharetitle),'&appkey=2924220432','&pic=',e(window.shareUrl)].join('');function a(){if(!window.open([f,p].join(''),'mb',['toolbar=0,status=0,resizable=1,width=620,height=450,left=',(s.width-620)/2,',top=',(s.height-450)/2].join('')))u.href=[f,p].join('');};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})(screen,document,encodeURIComponent);
}
</p>
网站调用新浪微博内容(微信朋友圈怎么同步到你的微博?表情符会被「同步圈」识别错误)
网站优化 • 优采云 发表了文章 • 0 个评论 • 66 次浏览 • 2022-02-15 21:28
如何将微信朋友圈同步到微博?在微信公众号和朋友圈挤占个人时间的当下,很多人的微博号逐渐被抛弃,而这个工具可以帮助你自动将任何朋友圈图文内容同步到你的微博。下面就和德牛网小编一起来看看微信朋友圈同步到微博的方法吧。
这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博,但是目前网站还没有推出APP或者Windows版本,所以大家只能在网页上操作,在以下操作,小编将为您提供同步圈的登录地址。
微信朋友圈同步新浪微博步骤:
为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用个人微博账号登录同步推送,网址为。
授权登录后,网页会显示一个二维码,用你的微信扫一扫,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!
经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片三种内容的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。
经过实测,我还发现一些特殊的表情符号会被“同步圈”错误识别,可能会导致一些歧义或误解。这很可能是由于微信朋友圈和微博支持的表情不匹配造成的。
同步循环原理:
原则上,“同步圈”调用了微信朋友圈上的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后使用微博开放平台的API接口发送相同的内容。出去。
抽象地说,“同步圈”与著名的自动化服务 IFTTT 非常相似。只不过它在微信封闭的城墙上开通了单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
遗憾的是,根据我们对腾讯和微信团队的了解,同步圈的这种“聪明”可能很快就会失效。 查看全部
网站调用新浪微博内容(微信朋友圈怎么同步到你的微博?表情符会被「同步圈」识别错误)
如何将微信朋友圈同步到微博?在微信公众号和朋友圈挤占个人时间的当下,很多人的微博号逐渐被抛弃,而这个工具可以帮助你自动将任何朋友圈图文内容同步到你的微博。下面就和德牛网小编一起来看看微信朋友圈同步到微博的方法吧。
这个可以为你省去很多麻烦的小工具叫做“同步圈”。顾名思义,就是把你的“朋友圈”“同步”到微博,但是目前网站还没有推出APP或者Windows版本,所以大家只能在网页上操作,在以下操作,小编将为您提供同步圈的登录地址。

微信朋友圈同步新浪微博步骤:
为了一劳永逸地享受自动同步的便利,您需要提前在PC浏览器中使用个人微博账号登录同步推送,网址为。
授权登录后,网页会显示一个二维码,用你的微信扫一扫,添加一个名为“同步圈”的个人微信ID,很快就会通过验证。
接下来需要将二维码下方的四位验证码发送到“同步圈”账号,然后会提示绑定成功!

经测试,“同步圈”目前支持纯文本、文本+表情、文本+图片三种内容的自动同步。您在朋友圈发布的小视频和地理位置无法同步到您的个人微博。
经过实测,我还发现一些特殊的表情符号会被“同步圈”错误识别,可能会导致一些歧义或误解。这很可能是由于微信朋友圈和微博支持的表情不匹配造成的。
同步循环原理:
原则上,“同步圈”调用了微信朋友圈上的一些内容识别接口,可以自动抓取绑定用户的朋友圈内容,然后使用微博开放平台的API接口发送相同的内容。出去。
抽象地说,“同步圈”与著名的自动化服务 IFTTT 非常相似。只不过它在微信封闭的城墙上开通了单向信息站,帮助用户将内容输出到更广阔的公共网络空间。
遗憾的是,根据我们对腾讯和微信团队的了解,同步圈的这种“聪明”可能很快就会失效。
网站调用新浪微博内容(一下获取微博内容时所的基本信息、高级信息和测试信息)
网站优化 • 优采云 发表了文章 • 0 个评论 • 56 次浏览 • 2022-02-14 23:19
本文主要讲了当时获取微博内容的方法。
由于我们选择了新浪微博,它提供了一系列的API进行调用,包括粉丝服务、微博、评论、用户、关系、账号接口等服务。目前V2版本增加了采集、搜索、提醒、位置服务、地理信息、地图引擎、支付等接口,采用Https协议,安全性更高。
为了能够调用接口,需要以开发人员的身份创建应用程序。
创建完成后,应用信息中会有基础信息、进阶信息和测试信息。
1、查看基本信息中的App Key和App Secret。授权他人访问自己的应用和回复微博评论时需要这两个。
2、在高级信息中设计回调页面。授权需要此回调页面。可以填写默认地址,也可以填写自己的申请。如果你填写自己的申请,授权用户成功后,会跳转到你申请的地址。
3、如果申请还处于测试阶段,授权对象必须加入测试账号才能进行微博相关活动。授权期限为1天。测试账户,第二步高级信息菜单中的下一个菜单。
1、将App Key和App Secret导入项目
在 Config.properties
client_ID : appkey(创建应用获取的appkey)
client_SERCRET : app_secret(创建应用获取的appsecret)
redirect_URI : 回调地址(OAuth2的回调地址)
2、微博配置变化
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
3、调用例子:OAuth4Code.java,运行,会弹出认证界面。
4、我们不需要这个页面,而是页面的地址。地址的结尾是code=XXXXX。在eclipse控制台下填写XXXXX。
5、回车,会在最下面得到access_token和uid,记下来,这两个参数很有用,一般需要用这两个参数从服务器抓取数据。
6、调用一个类的时候,传入这两个参数,调用它的API获取结果。
另外,对于爬虫的反爬机制,可以采用以下两种方法来解决: 查看全部
网站调用新浪微博内容(一下获取微博内容时所的基本信息、高级信息和测试信息)
本文主要讲了当时获取微博内容的方法。
由于我们选择了新浪微博,它提供了一系列的API进行调用,包括粉丝服务、微博、评论、用户、关系、账号接口等服务。目前V2版本增加了采集、搜索、提醒、位置服务、地理信息、地图引擎、支付等接口,采用Https协议,安全性更高。
为了能够调用接口,需要以开发人员的身份创建应用程序。
创建完成后,应用信息中会有基础信息、进阶信息和测试信息。
1、查看基本信息中的App Key和App Secret。授权他人访问自己的应用和回复微博评论时需要这两个。
2、在高级信息中设计回调页面。授权需要此回调页面。可以填写默认地址,也可以填写自己的申请。如果你填写自己的申请,授权用户成功后,会跳转到你申请的地址。
3、如果申请还处于测试阶段,授权对象必须加入测试账号才能进行微博相关活动。授权期限为1天。测试账户,第二步高级信息菜单中的下一个菜单。
1、将App Key和App Secret导入项目
在 Config.properties
client_ID : appkey(创建应用获取的appkey)
client_SERCRET : app_secret(创建应用获取的appsecret)
redirect_URI : 回调地址(OAuth2的回调地址)
2、微博配置变化
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
3、调用例子:OAuth4Code.java,运行,会弹出认证界面。
4、我们不需要这个页面,而是页面的地址。地址的结尾是code=XXXXX。在eclipse控制台下填写XXXXX。
5、回车,会在最下面得到access_token和uid,记下来,这两个参数很有用,一般需要用这两个参数从服务器抓取数据。
6、调用一个类的时候,传入这两个参数,调用它的API获取结果。
另外,对于爬虫的反爬机制,可以采用以下两种方法来解决: