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

    你可能感兴趣的文章
    poj1753——Flip Game
    查看>>
    poj1936 假期计划第一水
    查看>>
    poj1958-汉诺四塔问题(三种方法)
    查看>>
    poj1988(并查集)
    查看>>
    POJ2007+几何+极角排序
    查看>>
    poj2039
    查看>>
    poj2135(简单的最小费用流问题)
    查看>>
    poj2195 bfs+最小权匹配
    查看>>
    POJ2251
    查看>>
    POJ2253-Frogger
    查看>>
    poj2309
    查看>>
    POJ2390 Bank Interest【水题】
    查看>>
    poj2398
    查看>>
    poj2478欧拉函数
    查看>>
    poj2546
    查看>>
    POJ2728 Desert King
    查看>>
    POJ2794 Double Patience[离散概率 状压DP]
    查看>>
    poj2828(线段树查找序列第k小的值)
    查看>>
    POJ2891:Strange Way to Express Integers——题解
    查看>>
    poj3045 Cow Acrobats(二分最大化最小值)
    查看>>