R语言微博评论爬虫练习

1.随意选个热点微博

 

2. 参考

R微博数据分析

 http://blog.sina.com.cn/s/blog_9bed162b0102wu1w.html

R语言实现代码
devtools::install_github("sjhfx/rwda")
library(rwda)
access_token = "2.00xxxxxxxxx"
weiboid = "4181525459234737"
df_comments = get_comments(access_token, weiboid, maxpage = 20)
weibo_cloud(df_comments, stopwords = c("心心", "回复"))
 
3. 看看大家的看法

 

 
过程中遇到的困难主要在于 获取新浪微博的access_token , access_token可以通过 http://open.weibo.com/tools/console 获取。
个人创建了一个网页应用,最后获取access_token时采用的方法是 用谷歌浏览器,添加应用 Postman,在Postman中运用Post 请求获取access_token。
 
最后,顺手

 又顺手

 

转载于:https://www.cnblogs.com/JaniceZD/p/7986962.html

### Python 实现微博评论爬虫代码示例 以下是基于 `requests` 和 `BeautifulSoup` 的简单微博评论爬虫代码实现。此代码旨在演示如何通过 Python 抓取微博评论数据[^1]。 #### 准备工作 为了运行以下代码,需安装必要的依赖库: ```bash pip install requests beautifulsoup4 lxml ``` #### 示例代码 以下是一个基本的微博评论爬虫代码: ```python import requests from bs4 import BeautifulSoup def fetch_weibo_comments(weibo_id, page=1): """ 获取指定微博ID下的评论数据 :param weibo_id: 微博ID (字符串形式) :param page: 要获取的页码,默认第一页 :return: 返回解析后的评论列表 """ headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } url = f"https://m.weibo.cn/comments/hotflow?id={weibo_id}&page={page}" response = requests.get(url, headers=headers) if response.status_code != 200: raise Exception(f"请求失败,状态码 {response.status_code}") data = response.json() comments = [] if data['ok'] == 1 and 'data' in data: for comment_data in data['data']: user_name = comment_data['user']['screen_name'] text = comment_data['text'] created_at = comment_data['created_at'] # 去除HTML标签并提取纯文本 soup = BeautifulSoup(text, 'lxml') plain_text = soup.get_text() comments.append({ 'user_name': user_name, 'comment': plain_text, 'time': created_at }) return comments if __name__ == "__main__": weibo_id = "目标微博ID" try: comments = fetch_weibo_comments(weibo_id, page=1) for idx, comment in enumerate(comments[:10], start=1): # 打印前10条评论 print(f"{idx}. 用户名: {comment['user_name']} | 时间: {comment['time']} | 评论内容: {comment['comment']}") except Exception as e: print(e) ``` #### 注意事项 - 上述代码适用于移动端接口 (`https://m.weibo.cn`) 并返回 JSON 数据结构[^2]。 - 需要替换变量 `weibo_id` 为目标微博的实际 ID。 - 如果频繁调用 API 可能触发反爬机制,建议加入延时处理或使用代理池来降低风险。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值