python爬取微博热搜榜

0 篇文章 0 订阅
订阅专栏

python爬取微博热搜榜

最近应我大学室友得需求,做了一个简单的爬虫案例,先给大家看一下程序运行效果
在这里插入图片描述
2019-06-04 14:48分热搜榜前10
接下来就是贴出代码了,在这里我会做一些简单说明,对如刚入门的同学可能会有所帮助,这里使用的是python3

  1. 需要引入的包,这两个包可能需要自行下载

    urllib
    lxml
    
  2. 代码

    import urllib.request #导入urllib.request库
    import urllib.parse
    from lxml import etree
    
    #b = str(input("请输入:"))   #提示用户输入信息,并强制类型转换为字符串型
    
    def weibo() :
        url = 'https://s.weibo.com/top/summary?'
        a = urllib.request.urlopen(url)  #打开指定网址
        html = a.read()  #读取网页源码
        html = html.decode("utf-8")  #解码为unicode码
        # print(html)                #打印网页源码
    
        tree = etree.HTML(html)
        list = tree.xpath(u'//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[@class="td-02"]')
    
        prefix = 'https://s.weibo.com'  # 微博域名
        weiboSummary = open("微博热搜.txt", 'w')  #打开并写入文件
        for index,item in enumerate(list):
            if index > 0:
                a_element = item.xpath('.//a')[0]
                title = a_element.text # 关键词
                href = urllib.parse.unquote(a_element.attrib.get('href')) # 链接
                href = href.replace("#", "%23") #此处是对链接中的#号做一个编码转换,否则无法跳转指定关键词链接
                hot = item.xpath('./span')[0].text #热度指数
                line = str(index) + "\t" + title + "\t" + hot + "\t" + prefix + href + "\n"
                print(line.replace("\n", ""))
                if href.find("javascript:void(0)") != -1:
                    line = str(index) + "\t" + title + "\t" + hot
                #写入文件
                weiboSummary.write(line)
            else:
                title = '排名\t关键词\t热度\t链接\n'
                print(title.replace("\n",""))
                weiboSummary.write(title)
    
        weiboSummary.close()
        
    #调用方法
    weibo();
    
  3. 遇到的问题

    1).这是本文中关于lxml的一些简单用法

    代码中的 etree.HTML(html)是获取页面源码对象

    获取到节点对象以后可以使用 xpath()来获取元素内容,此处可以使用下图中的方法,注意:该方法类似于JQuery的类选择器,如果按xpath('//a')这种写法,获取的是页面中所有的a标签。

    u代表的是编码方式

    element = tree.xpath(u'//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[@class="td-02"]')

    element.text获取的是当前对象标签中的文本

    属性的话我们可以通过element.attrib.get('标签中的属性名')这种方式获取标签属性的内容

    详细的lxml文档操作可以自行百度
    在这里插入图片描述
    2). 关于IO

    我在使用python的IO操作时候遇到一些问题
    在这里插入图片描述
    具体的错误原因我还尚不明确,不过导致报错的原因是因为我导入了 IO 的包,python中本身带有IO操作的相关API
    我们只需要直接调用就可以
    例如:open('weibo.txt', 'w') 不需要使用 os.open('weibo.txt')使用完之后要记得关闭资源

此处感谢: https://blog.csdn.net/lyandgh/article/details/81013897

写文章

热门文章

  • MinIO分布式集群部署 5296
  • python爬取微博热搜榜 4867
  • Kafka ACL(SASL/SCRAM-SHA-256)动态权限管理【windows】 2673
  • MinIO Java入门使用(Linux) 1313
  • Java正则匹配手机靓号模板集 AAA+、AABB、AABA、ABBA等 202

分类专栏

  • MinIO 2篇
  • Kafka 1篇
  • Python
  • Java 4篇
  • JavaScript

最新评论

  • Java正则匹配手机靓号模板集 AAA+、AABB、AABA、ABBA等

    CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • Kafka ACL(SASL/SCRAM-SHA-256)动态权限管理【windows】

    御坂251: # 创建管理员用户 ./kafka-configs.bat --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=admin],SCRAM-SHA-512=[password=admin]' --entity-type users --entity-name admin 报错Warning: --zookeeper is deprecated and will be removed in a future version of Kafka. Use --bootstrap-server instead to specify a broker to connect to.

  • Kafka ACL(SASL/SCRAM-SHA-256)动态权限管理【windows】

    御坂251: # 创建管理员用户 ./kafka-configs.bat --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=admin],SCRAM-SHA-512=[password=admin]' --entity-type users --entity-name admin # 创建producer用户 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/w269000710/article/details/129572628这一步就错了

  • MinIO分布式集群部署

    码中小白鼠: API: SYSTEM() Time: 08:18:31 UTC 10/05/2023 Error: Read failed. Insufficient number of drives online (*errors.errorString) 8: internal/logger/logger.go:258:logger.LogIf() 7: cmd/prepare-storage.go:254:cmd.connectLoadInitFormats() 6: cmd/prepare-storage.go:312:cmd.waitForFormatErasure() 5: cmd/erasure-server-pool.go:103:cmd.newErasureServerPools() 4: cmd/server-main.go:960:cmd.newObjectLayer() 3: cmd/server-main.go:707:cmd.serverMain.func9() 2: cmd/server-main.go:426:cmd.bootstrapTrace() 1: cmd/server-main.go:705:cmd.serverMain() Waiting for a minimum of 1 drives to come online (elapsed 2m5s)

  • MinIO分布式集群部署

    码中小白鼠: ERROR Unable to validate passed arguments: host in server address should be this server > Please check --address parameter HINT: --address binds to a specific ADDRESS:PORT, ADDRESS can be an IPv4/IPv6 address or hostname (default port is ':9000') Examples: --address ':443' --address '172.16.34.31:9000' --address '[fe80::da00:a6c8:e3ae:ddd7]:9000'

大家在看

  • 股票量化交易接口,量化交易如何与券商接口 750
  • python操作数据库
  • 【C语言】获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列 21
  • 【AI绘画教程】Flux.1高级用法,你会吗?
  • “懒人”的福音:如何用AI快速生成论文大纲

最新文章

  • Java正则匹配手机靓号模板集 AAA+、AABB、AABA、ABBA等
  • MinIO分布式集群部署
  • MinIO Java入门使用(Linux)
2024年1篇
2023年3篇
2022年1篇
2019年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司莆田网站优化策略辽宁专业的网站设计优化安丘优化网站效果兰州网站优化哪家快精选网站优化推广珠海网站优化公司湖北搜索引擎网站优化系统横峰关键词网站优化肇庆网站优化代理商优化师能在什么网站找到平谷网站优化建设如何快速网站优化各大网站优化广告广州网站推广优化软件平台网站做优化有明火18星搜索引擎优化网站的网址网站搜索引擎优化系统深圳正规网站优化方法太原网站优化建议云城网站排名优化商洛网站优化哪个公司好山南网站优化推广长春网站关键字优化网站关键字如何优化茂名网站优化费用专业网站seo推广优化报价网站页面代码优化的方法有哪些呢物流网站优化方法沙田新能源网站优化哪一种在网站优化方面最有用歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化