python爬取微博热门消息(四)—— 完整代码

微博的热搜榜对于研究大众的流量有非常大的价值。

今天的教程就来说说如何爬取微博的热搜榜。


另外,关于本项目的效果展示,以及教程,点击一下链接即可。


一、文件结构

项目名称:Trending

Trending

- information

- configs.py

- main.py

- MicroBlog.py

二、执行过程

1、爬取所有内容

将参数flag设置为 True,运行即可

2、爬取特定内容

我们以‘ 6:迪丽热巴双马尾 ’为例

(1) 先将参数flag设置为 True,直到 information --> 2021-01-11_1746 --> topic.txt 文件生成即可停止运行;

(2) 再修改以下参数:

-- flag: False -- index: 6 -- str_time: 2021-01-11_1746

注:有时候我们爬取下来的内容乱码,我们只需多次爬取乱码的热搜话题即可。

三、代码

1、configs.py

import argparse

def parse_args():
    parser = argparse.ArgumentParser(description=trending topic of microblog)

    # 热搜网址
    parser.add_argument(--url, default=https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6)

    # 全部内容 or 特定内容
    """
    flag: True or False,是否爬取微博所有的内容
    index: 爬取特定热搜,例如第2个热搜内容: ***, 则index = 2,便会直接爬取该热搜信息
    str_time: 当前时间, such as 2021-01-11_1551
    """
    parser.add_argument(--flag, default=False)
    parser.add_argument(--index, default=6)
    parser.add_argument(--str_time, default=2021-01-11_1746)

    return parser.parse_args()

2、main.py

import configs

from MicroBlog import MicroBlog

def main(args):
    # 使用实例,输入热搜网址,所有信息都会存储在文件information中
    url = args.url
    flag = args.flag
    index = args.index
    str_time = args.str_time

    # 调用MicroBlog类,创建微博实例MB
    MB = MicroBlog(url, flag, index, str_time)

    # 爬取微博热搜
    MB.start()

if __name__ == __main__:
    args = configs.parse_args()
    main(args)

3、MicroBlog.py

经验分享 程序员 微信小程序 职场和发展