博客
关于我
新浪微博爬虫便携版
阅读量: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/

    你可能感兴趣的文章
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 8 Save and Load Model
    查看>>
    promise.all是并发执行吗_攻破面试灵魂拷问,解读Java并发编程的艺术,本文带你深入l理解...
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 7 Optimization
    查看>>
    promise总结
    查看>>
    Propel项目改为基于TensorFlow.js
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 6 Autograd
    查看>>
    properties出现中文乱码解决方法(万能)
    查看>>
    Property 'submit' of object #<HTMLFormElement> is not a function
    查看>>
    property--staticmethod--classmethod
    查看>>
    propertyGrid
    查看>>
    propertyPlaceholderConfigurer读取配置文件
    查看>>
    PyTorch-Tutorials【pytorch官方教程中英文详解】- 5 Build Model
    查看>>
    proteus三输入与非门名字_proteus 元件名称对照表
    查看>>
    Protobuf - 语法、字段使用规则、注意事项
    查看>>
    protobuf —— 快速上手
    查看>>
    protobuf —— 认识和安装
    查看>>
    Protobuf 三个关键字required、optional、repeated的理解
    查看>>
    ProtoBuf 原理详解
    查看>>
    Protobuf 实例(java)
    查看>>
    ProtoBuf 实际应用(java)
    查看>>