一个高级的twitter抓取和osint工具。

twint的Python项目详细描述


twint-twitter智能工具

23

pypibuild statuspython 3.5 3.6github license

< Buff行情>

没有身份验证。没有API。没有限制。

twint是一个用python编写的高级twitter抓取工具,它允许在不使用twitter的api的情况下从twitter配置文件中抓取tweets。

twint利用twitter的搜索运营商,让你从特定用户那里搜刮tweets,搜刮与特定主题、标签和趋势相关的tweets,或者从诸如电子邮件和电话号码之类的tweets中整理敏感信息。我觉得这很有用,你也可以用它来获得真正的创造力。

twint还对twitter进行特殊查询,允许您在不进行任何身份验证、api、selenium或浏览器模拟的情况下也可以抓取twitter用户的关注者、用户喜欢的tweets以及他们关注的人。

tl;灾难恢复的好处

使用twint vs twitter api的一些好处:

  • 几乎可以获取所有的tweets(twitter api仅限于最近3200条tweets);
  • 快速初始设置;
  • 可匿名使用,无需Twitter注册;
  • 无速率限制

Twitter施加的限制

twitter在浏览用户时间线时限制滚动。这意味着,使用.profile.favorites您将能够获得~3200条推文。

要求

  • 巨蟒3.6;
  • aiohttp;
  • aiodns;
  • 美化组4;
  • cchardet;
  • 弹性搜索;
  • pysocks;
  • 熊猫(>;=0.23.0);
  • aiohttp_袜子;
  • 日程安排;
  • Geopy;
  • 假冒用户代理。

安装

Git:

git clone https://github.com/twintproject/twint.git
pip3 install -r requirements.txt

管道:

pip3 install twint

pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint

管道变量

pipenv install -e git+https://github.com/twintproject/twint.git#egg=twint

cli基本示例和组合框

一些简单的例子可以帮助您了解基本知识:

  • twint-u用户名-从用户的日程表中删除所有tweets。
  • twint-u username-s菠萝-从包含菠萝的用户时间线中删除所有tweets
  • twint-s菠萝-从每个人的tweets中收集每个包含菠萝的tweet。
  • twint-u用户名——2014年-收集2014年之前发过的推文。
  • twint-u用户名——自2015年12月20日起d自2015年12月20日起。
  • twint-u username-o file.txt-删除tweets并保存到file.txt。
  • twint-u username-o file.csv--csv-抓取tweets并另存为csv文件。
  • twint-u用户名--电子邮件--电话-显示可能有电话号码或电子邮件地址的推文。
  • twint-s"donald trump"--已验证-显示已验证用户发送的有关donald trump的推文。
  • twint-g="48.880048,2.385939,1km"-o file.csv--csv-从巴黎某个地方周围1km半径范围内刮下tweets并将其导出到csv文件。
  • twint-u用户名-es localhost:9200-将tweets输出到elasticsearch
  • twint-u username-o file.json--json-scrape tweets并另存为json文件。
  • twint-u用户名--database tweets.db-将tweets保存到sqlite数据库。
  • twint-u用户名——关注者-抓取Twitter用户的关注者。
  • twint-u用户名——跟踪-抓取twitter用户跟踪的用户。
  • twint-u用户名--收藏夹-收集用户最喜欢的所有tweet(收集~3200条tweet)。
  • twint-u用户名--跟踪--用户已满-收集用户跟踪的完整信息
  • twint-u username--profile full-使用一种缓慢但有效的方法从用户的配置文件中收集tweets(收集约3200条tweets,包括转发)。
  • twint-u用户名——转发-使用快速方法从用户配置文件中收集最后900条推文(包括转发)。
  • twint-u用户名——resume resume_file.txt-从上次保存的scroll-id开始继续搜索。

有关命令和选项的更多详细信息,请参见wiki

模块示例

Twint现在可以用作模块并支持自定义格式。有关更多详细信息,请参见wiki

importtwint# Configurec=twint.Config()c.Username="noneprivacy"c.Search="#osint"c.Format="Tweet id: {id} | Tweet: {tweet}"# Runtwint.run.Search(c)
< Buff行情>

输出

955511208597184512 2018-01-22 18:43:19 GMT<;现在>;菠萝是最好的水果

importtwintc=twint.Config()c.Username="noneprivacy"c.Custom["tweet"]=["id"]c.Custom["user"]=["bio"]c.Limit=10c.Store_csv=Truec.Output="none"twint.run.Search(c)

存储选项

  • 写入文件;
  • csv;
  • json;
  • sqlite;
  • 弹性搜索。

弹性搜索设置

有关使用twint设置elasticsearch的详细信息,请参见wiki

图形可视化

graph

图表详细信息也位于维基

我们正在开发Twint桌面应用程序。

4

FAQ

< Buff行情>

我试着从用户那里获取tweets,我知道它们存在,但我没有得到它们

twitter可以隐藏ban账户,这意味着他们的tweets将无法通过搜索获得。要解决此问题,请通过--profile full如果通过cli使用twint,或者如果使用twint作为模块,请添加config.profile_full=true。请注意,此过程将非常缓慢。

更多示例

跟随者/跟随者 < Buff行情>

只获取跟随者用户名/跟随用户名

twint-u用户名——关注者

twint-u用户名--跟随

< Buff行情>

获取f的用户信息ollowers/跟随用户

twint-u用户名--关注者--用户已满

twint-u用户名--跟随--用户已满

用户列表

< Buff行情>

只获取用户的用户信息

twint-u用户名--用户已满

< Buff行情>

从用户列表中获取用户信息

twint--userlist inputlist--user full

特色博客文章:

联系人

如果您有任何问题,想参与讨论或需要额外帮助,欢迎您加入我们的Twint Focusedow">松弛服务器

如果您对osint感兴趣,并且仍在寻求帮助或建议,请加入osint社区,网址是:osint team(有一个特定的twint频道)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从数组返回类类型的java   关于Executor服务的java澄清   java在Eclipse中找不到快捷菜单   如何在java中只打印时间?   创建不可由GC收集的java类   java有向边图的逆   java Dijital海洋空间列表对象不工作   java Play 1.2.4 findByID不适用于复合Id   如何在Java中使用switch语句添加两个整数   我的log4jjava问题。lang.ClassNotFoundException:=org。阿帕奇。log4j。滚动文件   Springboot 2.4.0RC1和SpringCloud配置(Illford)java。lang.VerifyError:无法从最终类继承   java如何使方法线程安全   使用自定义SSL配置的java启动WebLogic服务器   java缺少右括号   如何在Java中使用Rally Rest API获取测试集ID?