gpt4 book ai didi

python - 将数据发布到 Sentiment140 进行情绪分析

转载 作者:行者123 更新时间:2023-11-29 06:51:00 24 4
gpt4 key购买 nike

我的目标是对从 Twitter 收集的数据执行至少 3 种不同类型的情绪分析。

我正在尝试对使用 Python 和 Twitter API 收集并存储在数据库(MySQL 和 PhpMyAdmin)中的推文进行情感分析。我遇到了 3 个问题:

  1. 执行情绪分析的 API 并不多(任何建议都会有帮助)
  2. 我正在尝试连接到 Sentiment140 API,但我的代码返回以下错误

TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.

  • 是否有通用方法将 Sentiment140 API(或任何其他情绪分析 API)与我的 MySQL 数据库连接以分析数据库中的文本列?
  • Python

    import urllib.request
    import json

    url = 'http://www.sentiment140.com/api/bulkClassifyJson'
    values = {'data': [{'text': 'I love Titanic.'}, {'text': 'I hate Titanic.'}]}

    data = json.dumps(values) # instead of urllib.urlencode(values)
    response = urllib.request.urlopen(url, data)
    page = response.read()

    非常感谢您的帮助,谢谢!

    最佳答案

    urllib docs 中所述,您必须先将 strs 转换为字节,然后再将其提供给 urlopen:

    Note that params output from urlencode is encoded to bytes before it is sent to urlopen as data.

    您可以通过对 data 调用 .encode() 来实现此目的:

    import urllib.request
    import json

    url = 'http://www.sentiment140.com/api/bulkClassifyJson'
    values = {'data': [{'text': 'I love Titanic.'}, {'text': 'I hate Titanic.'}]}

    data = json.dumps(values)
    response = urllib.request.urlopen(url, data=data.encode("utf-8"))
    page = response.read()

    关于python - 将数据发布到 Sentiment140 进行情绪分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47500241/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com