前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫教程:爬取微博数据【附源码】

Python爬虫教程:爬取微博数据【附源码】

作者头像
python学习教程
发布2020-03-31 17:30:43
2K0
发布2020-03-31 17:30:43
举报
文章被收录于专栏:python学习教程python学习教程
爬虫的最大功能之一就是整合数据,能弄到更全面的信息,真正做好大数据的分析,在这个数据说话的年代,影响是决定性的。(注意别侵权)

♦思路流程

1、利用chrome浏览器,获取自己的cookie。

2、获取你要爬取的用户的微博User_id

3、将获得的两项内容填入到weibo.py中,替换代码中的YOUR_USER_ID和#YOUR_COOKIE,运行代码。

♦完整代码

import requests
import re
import pandas as pd
import time as tm
import random
# ------------------------
id = "2304132803301701"
timedata = []
for p in range(1,3):
    page = str(p)
    url = "https://m.weibo.cn/api/container/getIndex?containerid=" + id + "_-_WEIBO_SECOND_PROFILE_WEIBO&luicode=10000011&lfid=" + id + "&page_type=03&page=" + page
    data = requests.get(url)
    data_text = data.text
    data_num = re.findall(r'\"mid\"\:\"(\d{16})\"', data_text)
    num = len(data_num)
    for i in range(0,num):
        url_detail = "https://m.weibo.cn/detail/" + data_num[i]
        html = requests.get(url_detail)
        time = re.search(r'\"created_at\"\:\s\"(\w\w\w\s\w\w\w\s\d\d\s\d\d\:\d\d\:\d\d)\s\+\d{4}\s\d{4}\"', html.text)
        timedata.append(time.group(1))
        tm.sleep(random.uniform(1,4)) #反爬间隔
        print("采集第%d页第%d条微博数据"%(p,i))
name =["time"]
data_save = pd.DataFrame(columns=name, data=timedata)
data_save.to_csv('./data.csv')

用wordcloud等软件生成词云,它会根据信息的频率、权重按比列显示关键字的字体大小。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档