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

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

import requests
import pandas as pd
import json
import re
import urllib.parse
def 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/

    你可能感兴趣的文章
    NIS服务器的配置过程
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NiuShop开源商城系统 SQL注入漏洞复现
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>
    NLP采用Bert进行简单文本情感分类
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>