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

    你可能感兴趣的文章
    pycharm的安装配置和简单使用
    查看>>
    pycharm的环境管理-ChatGPT4o作答
    查看>>
    pycharm社区版不能使用conda
    查看>>
    Pycharm终端中conda无法切换到虚拟环境的解决方法(两种方案)
    查看>>
    pycharm连接sqlite
    查看>>
    Pycharm那些隐藏的实用小技巧,yyds!
    查看>>
    PyCharm配置SSH和SFTP远程连接服务器
    查看>>
    pydoc使用
    查看>>
    pyechart
    查看>>
    pyecharts中管理工具按钮以及修改图表主题
    查看>>
    pyechart值域区间
    查看>>
    pyest+appium实现APP自动化测试,思路全总结在这里
    查看>>
    Pygame
    查看>>
    Pygame 的详细介绍-ChatGPT4o作答
    查看>>
    Pygame 窗口几秒钟后没有响应
    查看>>
    Pygame.display.togling_fulcreen()不起作用
    查看>>
    Pygame中的倒数计时器
    查看>>
    Pygame介绍以及下载
    查看>>
    PYGAME在没有显示的情况下不返回操纵杆轴移动
    查看>>
    Pygame实现记录事件到文本中
    查看>>