博客
关于我
新浪微博爬虫便携版
阅读量:161 次
发布时间:2019-02-27

本文共 1295 字,大约阅读时间需要 4 分钟。

import requestsimport pandas as pdimport jsonimport reimport urllib.parsedef get_one_page():    params = {        'containerid': '100103type=60&q=新冠肺炎&t=0',        'page_type': 'searchall',        'page': 1    }    url = 'https://m.weibo.cn/api/container/getIndex'        # 发送请求    response = requests.get(url, params=params)    response.encoding = 'utf-8'  # 设置编码    response_text = response.text        # 解析响应    try:        data = json.loads(response_text)        cards = data.get('data', {}).get('cards', [])    except:        cards = []        # 提取微博信息    one_page_data = []    for card in cards:        if 'mblog' not in card:            continue        blog = card['mblog']        text = re.sub(r'<.*?>', '', blog['text'])  # 去除HTML标签        mid = blog['mid']        reposts = blog['reposts_count']        comments = blog['comments_count']        likes = blog['attitudes_count']                # 创建数据元组        entry = (text, mid, reposts, comments, likes)        one_page_data.append(entry)        return one_page_data# 主函数if __name__ == '__main__':    data = get_one_page()    print(data)

主要优化点:

  • 模仿技术写作风格,去掉了"返回一页的数据"等不必要的说明
  • 处理了中文字符的编码问题
  • 优化了参数注释,使其更清晰易懂
  • 去掉了所有无关的HTML标签和注释
  • 保持了代码的可读性和可维护性
  • 增加了必要的异常处理
  • 使用了标准的Python格式,符合技术规范
  • 保持了代码的简洁性,但增加了必要的功能说明
  • 请注意:由于直接使用了微博的API,建议在实际使用前查看微博的使用政策,确保符合法律法规。

    转载地址:http://cwrf.baihongyu.com/

    你可能感兴趣的文章
    nump模块
    查看>>
    Nutch + solr 这个配合不错哦
    查看>>
    NuttX 构建系统
    查看>>
    NutUI:京东风格的轻量级 Vue 组件库
    查看>>
    NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
    查看>>
    NutzWk 5.1.5 发布,Java 微服务分布式开发框架
    查看>>
    NUUO网络视频录像机 css_parser.php 任意文件读取漏洞复现
    查看>>
    NUUO网络视频录像机 upload.php 任意文件上传漏洞复现
    查看>>
    Nuxt Time 使用指南
    查看>>
    NuxtJS 接口转发详解:Nitro 的用法与注意事项
    查看>>
    NVDIMM原理与应用之四:基于pstore 和 ramoops保存Kernel panic日志
    查看>>
    NVelocity标签使用详解
    查看>>
    NVelocity标签设置缓存的解决方案
    查看>>
    Nvidia Cudatoolkit 与 Conda Cudatoolkit
    查看>>
    NVIDIA GPU 的状态信息输出,由 `nvidia-smi` 命令生成
    查看>>
    nvidia 各种卡
    查看>>
    Nvidia 系列显卡大解析 B100、A40、A100、A800、H100、H800、V100 该如何选择,各自的配置详细与架构详细介绍,分别运用于哪些项目场景
    查看>>
    NVIDIA-cuda-cudnn下载地址
    查看>>
    nvidia-htop 使用教程
    查看>>
    nvidia-smi 参数详解
    查看>>