Python爬虫大数据采集与挖掘-微课视频版-课件 第二版-9 微博信息采集与Python实现.ppt
**Python爬虫大数据采集与挖掘(9)
--微博信息采集与Python实现《Python爬虫大数据采集与挖掘》第二版.微课视频版(清华大学出版社,2025)教材《Python爬虫大数据采集与挖掘》及配套公众号
(当当、京东可购书)提纲微博信息采集方法概述微博开放平台授权与测试使用Python调用微博API采集数据通过爬虫采集微博常见的SNS平台的信息采集途径主要可以分为如下两种:通过平台提供的开放API获取数据和通过爬虫方式采集数据。微博API是微博官方开放的一组程序调用接口,通过这些API能够获得微博的博文、用户信息及用户关系信息等数据。但是在非商业授权下有较大的使用限制,能够获取的数据量有限。通过爬虫方式采集数据的方法,具体又可以分为两种,即,通过模拟用户行为进行页面分析与数据采集、通过模拟移动终端客户端进行数据采集。通过平台开放API获取数据的方式与爬虫方式的主要区别在于前者需要注册平台开发者身份。在获取数据前使用平台约定的方式进行身份认证。后者本质上是模拟终端或者用户的方式,主要思路是通过平台公开的页面编码内容进行请求命令的构造,并对返回的数据进行分析和提取,具体方法与前面第五章介绍的方法类似。提纲微博信息采集方法概述微博开放平台授权与测试使用Python调用微博API采集数据通过爬虫采集微博在调用微博之前,需要事先获取用户身份认证,这是指在开放平台上的认证,而非普通用户登录微博时的认证。微博开放平台用户身份鉴权主要采用OAuth2.0认证方式,平台授权的最终是获得访问令牌(access_token)。使用该令牌和用户身份(uid)就可以在Python程序中调用API,实现微博信息的采集。获取access_token的流程(1)创建微博用户,并登录微博();(2)进入“微博接口测试工具”(/tools/console),如果还没有创建应用,则根据页面提示创建一个应用。如果已经有应用,则转步骤(4)。创建应用(3)创建成功后,进入应用控制台。在OAuth2.0授权设置中,填写“授权回调页”为?/oauth2/default.html?。(4)填写完成后,再次进入“微博接口测试工具”,可以看到API测试工具页面。点击“获取AccessToken”可以获得该应用的令牌在微博接口测试工具中测试API的调用上图中展示了获取微博用户信息的API,其对应的API是“users/show”,相应的API参数要查阅微博API文档。这里使用用户的昵称来获取用户信息,点击“调用接口”后可以看到右边的请求URL、参数以及返回的JSON数据。提纲微博信息采集方法概述微博开放平台授权与测试使用Python调用微博API采集数据通过爬虫采集微博流程介绍微博API及使用方法微博API微博官方提供给开发人员的一组函数调用接口,这是一种在线调用方式,不同于普通语言所提供的函数。根据输入的参数返回相应的数据,其范围涵盖用户个人信息、用户的粉丝和关注、用户发布的博文、博文的评论等等。向接口发送HTTP请求,接口就会返回所对应的JSON格式数据。新浪微博提供的API有九大类,即:粉丝服务接口、微博接口、评论接口、用户接口、关系接口、搜索接口、短链接口、公共服务接口和OAuth2.0授权接口。最新的接口及功能可以到官方网站查阅:/wiki/%E5%BE%AE%E5%8D%9AAPI。用户类API名称及功能读取接口users/show获取用户信息users/domain_show通过个性域名获取用户信息users/counts批量获取用户的粉丝数、关注数、微博数评论类API名称及功能读取接口comments/show获取某条微博的评论列表comments/by_me我发出的评论列表comments/to_me我收到的评论列表comments/timeline获取用户发送及收到的评论列表comments/mentions获取@到我的评论comments/show_batch批量获取评论内容写入接口comments/create评论一条微博comments/destroy删除一条我的评论comments/destroy_batch批量删除我的评论comments/reply回复一条我收到的评论使用方法对于每个API,新浪微博规定了其请求参数、返回字段说明、是否需要登录、HTTP请求方式、访问授权限制(包括访问级别、是否频次限制)等关键信息。其中,请求参数是API的输入,而返回字段是API调用的输出结果,一般是以JSON的形式进行封装。HTTP请求方式支持GET和POST两种,访问授权限制则规