社交媒体爬虫------调用微博API获取微博内容

article/2025/10/19 19:59:42

一.创建应用

创建应用的目的是获取app-key和app-secret,并设置授权回调页。
(1)获取app-key和app-secret
登陆微博开放平台创建应用http://open.weibo.com/apps/new?sort=web
在这里插入图片描述
应用名称以及后续的信息随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret。应用创建成功后可以在“我的应用”里面看到刚刚创建的应用的详细信息,在“应用信息”里面可以找到App Key和App Secret,这些信息在后面会用到。
在这里插入图片描述
(2)设置授权回调页
接着上面的打开“应用信息”里面的“高级信息”,然后点击“高级信息”里面的“编辑”按钮,将“授权回调页面”设置为:https://api.weibo.com/oauth2/default.html,将“取消授权回调页”也设置为:https://api.weibo.com/oauth2/default.html。至此第一步工作已完成。
在这里插入图片描述

二.安装微博SDK

(1)授权机制
http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
(2)下载微博SDK
微博 SDK支持多种语言,本文以python的sdk为例来说明操作,微博sdk链接http://open.weibo.com/wiki/SDK,点击进入之后选择自己熟悉语言的SDK即可,如下所示:
在这里插入图片描述

安装python版微博sdk:

直接在命令行下键入

pip install sinaweibopy3 

或者去Gethub上边下载库

获取code、token信息

from weibo import APIClient# 1.配置
APP_KEY = '你的APP_KEY'
APP_SECRET = '你的APP_SECRET'
CALLBACK_URL = '你的CALLBACK_URL'  # 回调授权页面,用户完成授权后返回的页面# 2.调用APIClient生成client实例
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)# 3.得到授权页面的url
url = client.get_authorize_url()
print(url)# 4.点击访问url,在浏览器端获得code
code = '6ecdbf350f0680a6f00cc8c34ae721a6'
req = client.request_access_token(code)
client.set_access_token(req.get('access_token'), req.get('expires_in'))# 5.调用微博普通读取接口,返回最新的公共微博。
# 接口详情见 https://open.weibo.com/wiki/2/statuses/public_timeline
statuses = client.statuses__public_timeline()['statuses']
print(len(statuses))
# 6.输出部分信息
for i in range(0, len(statuses)):print(u'昵称:' + statuses[i]['user']['screen_name'])print(u'简单介绍:' + statuses[i]['user']['description'])print(u'位置:' + statuses[i]['user']['location'])print(u'微博:' + statuses[i]['text'])print(statuses[i])

通过模拟登陆获取code

from weibo import APIClient
from selenium import webdriver
import time
APP_KEY='填入你的key'
APP_SECRET='填入你的secret'
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html
# callback url#在网站放置“使用微博账号登录”的链接,当用户点击链接后,引导用户跳转至如下地址:
#利用官方微博SDK
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
#得到授权页面的url,利用webbrowser打开这个url
url = client.get_authorize_url()
river.get(url)
time.sleep(3)
#填充用户名 密码
driver.find_elements_by_id("userId")[0].send_keys("自己的账户")
driver.find_elements_by_id("passwd")[0].send_keys("密码")
time.sleep(5)
driver.find_element_by_class_name("WB_btn_login").click()
# print(driver.page_source)
if '验证码:' in driver.page_source:img_ele=driver.find_element_by_xpath('//img[@node-type="pincode"]')image_url = img_ele.get_attribute('src')print(image_url)if image_url != None:import requestsresponse=requests.get(image_url)with open('pincode.jpg', 'wb') as f:f.write(response.content)vares_img=input('请输入:\n')driver.find_element_by_class_name('WB_iptxt').send_keys(vares_img)driver.find_element_by_class_name("WB_btn_login").click()print('成功登录微博')time.sleep(5)content = driver.current_url# 设置得到的access_tokenprint(content)#获取code=后面的内容
用正则匹配
code = re.complish(r"code=")findall(comtent)r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,类似abc123xyz456
expires_in = r.expires_in# 设置得到的access_token
client.set_access_token(access_token, expires_in)#可以打印下看看里面都有什么东西
statuses = client.statuses__friends_timeline()['statuses'] #获取当前登录用户以及所关注用户(已授权)的微博</span>length = len(statuses)
print length
#输出了部分信息
for i in range(0,length):print u'昵称:'+statuses[i]['user']['screen_name']print u'位置:'+statuses[i]['user']['location']print u'微博:'+statuses[i]['text']

http://chatgpt.dhexx.cn/article/5euGdhif.shtml

相关文章

python抓取微博数据_技术入门 | python利用微博api获取数据

技术入门 | python利用微博api获取数据 文 | thewords 这也是跳票许久的分享。在写之前发现目前比较少公开的第三方api&#xff0c;有些还停止维护&#xff0c;所以在一轮筛选后选择了微博api进行实践。 01 申请开发者权限 1) 进入微博开放平台&#xff0c;完成开发者认证 …

调用微博API获取微博内容

调用微博API获取微博内容 在采集微博数据的时候&#xff0c;可以利用微博的API来进行调用。在调用微博APi的时候需要做两项工作&#xff0c;第一步是创建应用&#xff0c;第二步是安装微博SDK. 一.创建应用 创建应用的目的是获取app-key和app-secret&#xff0c;并设置授权回…

java 微博 api_Java使用新浪微博API开发微博应用的基本方法

新浪微博API现在运用比较广泛&#xff0c;做一个完整的开发流程Demo 1、第一步注册&#xff0c;就不多说了&#xff0c;注册帐号以及成为开发者帐号&#xff0c;这步操作不会的话请你马上砸掉电脑拔掉网线回家种田。 2、第二步创建应用&#xff0c;开发者帐号创建好了&#xff…

新浪微博api的使用

在采集微博数据的时候&#xff0c;可以利用微博的API来进行调用。在调用微博APi的时候需要做两项工作&#xff0c;第一步是创建应用&#xff0c;第二步是安装微博SDK. 创建应用 创建应用的目的是获取app-key和app-secret&#xff0c;并设置授权回调页。 登陆微博开放平台创…

微博开放平台api使用

前言&#xff1a;微博开放平台提供了微博数据的api接口&#xff0c;不仅可以直接通过api调用微博服务发布微博查询微博&#xff0c;更重要的是&#xff0c;可以在自己的网站上获得新浪微博api的授权&#xff0c;调用微博的某些内容&#xff0c;就好像我们再网站中看到好文章要分…

【转载】使用微博API接口获取数据

巧妇难为无米之炊。 数据获取是数据分析的前提。许多网站会通过API接口向第三方开放网站的部分数据。新浪微博也不例外。你可以查看微博API列表。 商业数据API为&#xff08;如place/nearby_timeline/biz&#xff09;为收费接口&#xff0c;若想要调用这一类接口&#xff0c;…

微博官方API使用方法【全流程教学】

微博官方API使用方法【全流程教学】 微博开发者身份认证创建自己的应用新应用的相关配置基本信息高级信息 微博认证流程OAuth2.0认证(核心步骤)Access Token授权有效期接口调用Demo(以评论接口为例&#xff09; 微博开发者身份认证 访问微博开放平台&#xff0c;登录自己微博账…

一文教会你JDK8的函数式编程

JDK8的1个新特性就是支持函数式接口(Functional Interface)。 函数式接口就是一个有且仅有一个抽象方法&#xff0c;但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为Lambda表达式。 我们也可以自行定义函数式接口&#xff0c;如: FunctionalInterface interf…

Modern C++ 学习笔记——C++函数式编程

往期精彩&#xff1a; Modern C 学习笔记——易用性改进篇Modern C 学习笔记 —— 右值、移动篇Modern C 学习笔记 —— 智能指针篇Modern C 学习笔记 —— lambda表达式篇Modern C 学习笔记 —— C面向对象编程Modern C 学习笔记 —— C函数式编程 Modern C 学习笔记——C函数…

java8函数式编程实例

什么是函数式编程 函数式编程是java8的一大特色&#xff0c;也就是将函数作为一个参数传递给指定方法。别人传的要么是基本数据类型&#xff0c;要么就是地址引用 &#xff0c;我们要穿一个“动作”。 Stream 说到函数式编程&#xff0c;就不得不提及Stream&#xff0c;Stre…

Scala函数式编程

一、函数式编程定义&#xff1a; Scala是一门既面向对象&#xff0c;又面向过程的语言。在Scala中&#xff0c;函数与类、对象地位是一样&#xff0c;所以说scala的面向过程其实就重在针对函数的编程 了&#xff0c;所以称之为函数式编程 在Scala中定义函数需要使用 def 关键…

什么是函数式编程?

当我们说起函数式编程来说&#xff0c;我们会看到如下函数式编程的长相&#xff1a; 函数式编程的三大特性&#xff1a; immutable data 不可变数据&#xff1a;像Clojure一样&#xff0c;默认上变量是不可变的&#xff0c;如果你要改变变量&#xff0c;你需要把变量copy出去修…

python函数式编程

大家好 这里还还还是长弓 今天我们来讲讲python中的函数式编程 目录 函数式编程 高阶函数 map reduce filter sorted 返回函数 闭包 nonlocal使用 匿名函数lambda 装饰器 偏函数 函数式编程 有些同学疑惑了&#xff0c;我们已经学了函数&#xff0c;为什么还要学这…

函数式编程

Functional Programming 什么是函数式编程 函数式编程的思维方式&#xff1a;把显示世界的事务和事物之间的联系抽象到程序世界&#xff08;对运算过程进行抽象&#xff09; 函数式编程中的函数指的数学中的函数即映射关系&#xff0c;输入的值对应一个输出的值&#xff0c;…

appium环境搭建python_appium环境搭建python

1&#xff0c;appium是开源的移动端自动化测试框架&#xff1b;2&#xff0c;appium可以测试原生的、混合的、以及移动端的web项目&#xff1b;3&#xff0c;appium可以测试ios&#xff0c;android应用(当然了&#xff0c;还有firefox os)&#xff1b;4&#xff0c;appium是跨平…

Windows下Appium环境搭建小结

文章目录 Windows下Appium环境搭建小结需要安装的软件1. JDK下载安装/配置 2. Android SDK3. Maven下载安装/配置 4. Appium下载安装/配置 5. Eclipse TestNG 和 ADT 插件下载安装一条龙配置1、先配置Maven 创建一个项目 Windows下Appium环境搭建小结 本文需要读者已安装了Ec…

Mac端Python+Appium环境搭建

一、安装java sdk java安装&#xff1a;下载完直接安装jdk1.8 二、 安装Android Studio 1.下载安装 下载地址&#xff1a;https://www.androiddevtools.cn/# 2.安装完成后&#xff0c;打开SDK Manager 三、JAVA SDK和Android SDK环境变量配置 1.终端输入&#xff1a;ls…

安卓移动端appium环境搭建流程

安卓移动端appium环境搭建流程 基本步骤: 安装Node.js 安装JDK&#xff0c;及配置环境变量 安装SDK&#xff0c;及配置环境变量 安装Appium桌面版本(建议安装GitHub的最新版) python中pip下载Appium-Python-Client 下载allure-2.13.8并加入环境变量 管理员身份运行appiu…

pythonappium环境搭建_python+appium 环境搭建

最近学习了一下python语言&#xff0c;听说appium是做app的ui层的自动化的一个很好的框架&#xff0c;也是很多人在学习的框架&#xff0c;所以很感兴趣&#xff0c;也特意来学习一下&#xff0c;下面是我学习过程的一些心得和总结&#xff0c;希望对大家有所帮助。 一、环境搭…

Appium环境搭建(集齐Windows和MacOS的宝藏内容)

Appium环境搭建目录 Windows系统环境下安装Node.js安装JDK及环境变量配置添加环境变量 安装SDK添加环境变量 安装Appium可通过三种方法安装安装 **appium-doctor** MacOS系统环境下安装xcode安装依赖安装WebDriverAgent运行WebDriverAgent windows 安装 tidevice常用的tidevice…