python爬虫 - 爬取Ajax获取的Json格式数据(个人微博)
import requests
import json
# 微博个人主页的URL
url = 'https://m.weibo.cn/api/container/getIndex?type=uid&value=2830678474&containerid=1076032830678474'
# 设置请求头,模拟浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'X-Requested-With': 'XMLHttpRequest',
'Cookie': '你的微博Cookies'
}
# 发送请求
response = requests.get(url, headers=headers)
# 解析JSON数据
data = json.loads(response.text)
# 提取微博数据
cards = data['data']['cards']
for card in cards:
if 'mblog' in card:
mblog = card['mblog']
created_at = mblog['created_at']
text = mblog['text']
attitudes_count = mblog['attitudes_count']
comments_count = mblog['comments_count']
reposts_count = mblog['reposts_count']
print(f"发布时间: {created_at}")
print(f"微博内容: {text}")
print(f"赞: {attitudes_count}")
print(f"评论: {comments_count}")
print(f"转发: {reposts_count}")
print("\n")
# 注意:此代码未完全测试,可能需要根据实际情况进行调整。
# 例如,你需要替换'你的微博Cookies'为实际的登录Cookies,以及可能需要处理分页等情况。
这段代码使用了Python的requests库来发送HTTP请求,并使用json库来解析JSON数据。它提取了用户微博的发布时间、内容、赞、评论和转发数等信息,并打印出来。需要注意的是,你需要替换'你的微博Cookies'为实际的登录Cookies,以及可能需要处理分页等情况。
评论已关闭