• BeautifulSoup爬取微博热搜榜


    • 获取url
    • 设定请求头
    • requests发出get请求
    • 实例化BeautifulSoup对象
    • BeautifulSoup提取数据
    import requests
      2 from bs4 import BeautifulSoup
      3 
      4 url = "https://s.weibo.com/top/summary"
      5 date = {
      6         "Refer":"top_hot",
      7         "topnav":"1",
      8         "wvr":"6"
      9         }
     10 headers = {
     11         "User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_6    4; rv:81.0) Gecko/20100101 Firefox/81.0"
     12         }
     13 response = requests.get(url,params = date,headers = headers    )
     14 content = response.content.decode("utf-8")
     15 soup = BeautifulSoup(content,"lxml")
     16 tds_list = soup.find_all("td",class_ = "td-02")[1:]
     17 event_list = []
     18 for td in tds_list:
     19     event = td.find_all("a")[0].string
     20     hot = td.find_all("span")[0].string
     21     sina = {
     22             "事件":event,
     23             "热度":hot
     24             }
     25     event_list.append(sina)
     26 for event in event_list:
     27     print(event)
     28 with open("weobohot.txt","w") as f:
     29     for event in event_list:
     30         f.write(str(event) + "
    "

    生成的weohot.txt文件

    {'事件': '冯绍峰给赵丽颖的祝福评论被淹了', '热度': '4907890'}
    {'事件': '成都大学党委书记毛洪涛的遗体已被找到', '热度': '1643868'}
    {'事件': '任嘉伦在发光', '热度': '1635768'}
    {'事件': '李玟身材', '热度': '1598868'}
    {'事件': '苹果回应不配耳机和充电器', '热度': '1521308'}
    {'事件': '胡杏儿首次直播', '热度': '1364689'}
    {'事件': '狗仔101', '热度': '1334856'}
    {'事件': '复方板蓝根对新冠病毒有效', '热度': '1057010'}
    {'事件': '18岁女大学生捐献遗体', '热度': '562891'}
    {'事件': '泰国爆发抗议示威活动', '热度': '560373'}
    {'事件': '南航回应乘客抠出氧气面罩致延误', '热度': '560244'}
    {'事件': '教育部谈体育老师当班主任遭投诉', '热度': '558928'}
    {'事件': '游客晕倒遇18名医生救助守护', '热度': '471445'}
    {'事件': '中考体育将达到和语数外同分值水平', '热度': '463011'}
    {'事件': '4人26天捕鸟8万余只', '热度': '442804'}
    {'事件': 'S10门票摇号结果', '热度': '437430'}
    {'事件': '喜宝', '热度': '402599'}
    {'事件': '凤姐', '热度': '402548'}
    {'事件': '韩国献血者中有42人确诊新冠', '热度': '395386'}
    {'事件': '军训下雨时袜子没洗干净', '热度': '393559'}
    {'事件': '吴中天给杨子姗做9周年视频', '热度': '386616'}
    {'事件': '王清远', '热度': '383780'}
    {'事件': '青岛此次疫情为医院聚集性疫情', '热度': '382168'}
    {'事件': '上海破获首例网红直播带货售假案', '热度': '315914'}
    {'事件': '南方菜市场有多贴心', '热度': '281595'}
    {'事件': '鹿晗重庆', '热度': '275778'}
    {'事件': '龙丹妮收到报备了吗', '热度': '275400'}
    {'事件': '原来河狸也会搓澡', '热度': '257896'}
    {'事件': '打工人你好狠的心', '热度': '218550'}
    {'事件': '雅思', '热度': '183550'}
    {'事件': '广州疫情', '热度': '183547'}
    {'事件': '夏之光恋情', '热度': '183523'}
    {'事件': '刘诗诗复古蜂窝头', '热度': '183514'}
    {'事件': '花都', '热度': '183497'}
    {'事件': '老师将一次性餐盒改造成昙花灯', '热度': '183485'}
    {'事件': '唐嫣头巾造型', '热度': '183445'}
    {'事件': '江苏大学通报学生坠楼身亡事件', '热度': '183218'}
    {'事件': '三句话读懂国产剧', '热度': '179326'}
    {'事件': '成都西岭雪山下雪', '热度': '164400'}
    {'事件': '妈妈神奇的语言描述能力', '热度': '152580'}
    {'事件': '任豪王者荣耀', '热度': '152088'}
    {'事件': '任豪道歉', '热度': '150707'}
    {'事件': '李栋旭身材', '热度': '149847'}
    {'事件': '易建联康复时间预计30周', '热度': '149218'}
    {'事件': '全国统一的家庭群名称', '热度': '148772'}
    {'事件': '电竞班的作业', '热度': '145234'}
    {'事件': '乡村医生遗愿穿戴整齐捐给国家', '热度': '144878'}
    {'事件': '张培萌妻子称只想要女儿抚养权', '热度': '144583'}
    {'事件': '同济大学新生作业每份10米长', '热度': '143680'}
    {'事件': '全球首个埃博拉病毒治疗方法', '热度': '140690'}
    可以看出我们已经成功的爬取到了热搜榜的内容

    笨鸟先飞
  • 相关阅读:
    vue定义data的三种方式与区别
    利用Python开发App实战
    序列化:ProtoBuf 与 JSON 的比较 !
    年轻人不讲武德,where 1=1 是什么鬼?
    Java 生成随机数的 5 种方式,你知道几种?
    卸载 Navicat!事实已证明,正版客户端,它更牛逼……
    MySQL大表优化方案
    鹅厂是如何使用 Git 的?
    灵魂一问:一个TCP连接可以发多少个HTTP请求?
    新来的老大说,“公司以后禁止使用Lombok”,我表示反对~
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/13826810.html
Copyright © 2020-2023  润新知