跳转到主要内容

将用户列表的推文存储到数据库中以供NLP处理的脚本。

项目描述

Tweet Archiveur

此项目的目标是存储推文到数据库中。但您也可以在不使用数据库的情况下使用它。

  • 输入:CSV文件中的tweetos ID
  • 输出:推文和标签的数据库

我们的目标是存储法国议会所有成员的推文,以了解热门话题的趋势。

但您也可以用此项目为其他目的与其他人一起使用。

如何安装此包

待办事项:当

  • 将“nom”重命名为users中的“name”
  • 重新激活单元测试(《https://githubdocs.cn/en/actions/guides/creating-postgresql-service-containers》)
  • 将爬虫改为类
  • 切换到SQLAlchemy
  • Flake8
  • 文档

pip install tweetarchiveur

如何在项目中使用此包

有两个类

  • 一个用于Twitter API的Scrapper()类
  • 一个Database()类,用于存储推文和标签
from tweet_archiveur.scrapper import Scrapper
from tweet_archiveur.database import Database

# Force some variable outside Docker
from os import environ
environ["DATABASE_PORT"] = '8479'
environ["DATABASE_HOST"] = 'localhost'
environ["DATABASE_USER"] = 'tweet_archiveur_user'
environ["DATABASE_PASS"] = '1234leximpact'
environ["DATABASE_NAME"] = 'tweet_archiveur'

scrapper = Scrapper()
df_users = scrapper.get_users_accounts('../tests/sample-users.csv')
users_id = df_users.twitter_id.tolist()
database = Database()
database.create_tables_if_not_exist()
database.insert_twitter_users(df_users)
scrapper.get_all_tweet_and_store_them(database, users_id[0:2])
del database
del scrapper
2021-03-22 10:21:59,837 -  tweet-archiveur INFO     Scrapper ready
2021-03-22 10:21:59,841 -  tweet-archiveur INFO     Loading database module...
2021-03-22 10:21:59,842 -  tweet-archiveur DEBUG    DEBUG : connect(user=tweet_archiveur_user, password=XXXX, host=localhost, port=8479, database=tweet_archiveur, url=None)
2021-03-22 10:22:03,915 -  tweet-archiveur INFO     Done scrapping, we got 400 tweets from 2 tweetos.

我们如何使用它

我们每8小时获取577名法国议会成员的推文,并将它们存储在PostgreSQL数据库中。

然后我们使用Apache Superset对其进行分析。

我们的部署方式

准备环境

git clone https://github.com/leximpact/tweet-archiveur.git
cd tweet-archiveur
cp docker/docker.env .env

编辑.env文件以符合您的需求。

运行应用程序

docker-compose up -d

查看正在发生的事情

docker logs tweet-archiveur_tweet_archiveur_1 -f

脚本archiveur.py使用https://github.com/regardscitoyens/twitter-parlementaires中的包来获取议会账号。

参数从.env文件中读取。

它由.entrypoint.sh脚本每8小时启动一次。

停止它

docker-compose down

数据保存在Docker卷中,要清理它们

docker-compose down -v

如何处理它们?

  • 最常用的标签(按时间段、按人计算)
  • 最/不活跃的用户
  • 时间线
  • NLP主题检测
  • 词云

附录

退出代码

  • 1:存储推文时出现未知错误
  • 2:获取推文时出现未知错误
  • 3:连续失败超过3次
  • 4:无环境变量

如果任何一项失败,则不会保存推文。

状态码=429:当你超过允许的最大请求数量时,会返回429 'Too many requests'错误

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分发

tweet_archiveur-0.0.1.tar.gz (16.2 kB 查看散列)

上传时间

构建分发

tweet_archiveur-0.0.1-py3-none-any.whl (13.2 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页