TWINT:一款Twitter信息爬取工具

Twint是一个用Python写的Twitter抓取工具,允许从Twitter配置文件中抓取推文,不使用Twitter的API。

 

Twint利用Twitter的搜索语法让您从特定用户那里搜索推文,特定主题,主题标签和相关的推文,或者从推文中挑选敏感信息,如电子邮件和电话号码。

Twint还对Twitter进行了特殊查询,允许您搜索Twitter用户的关注者,用户喜欢的推文,以及他们在API,Selenium或模拟浏览器的情况下关注的用户。

好处

使用Twint和Twitter API的一些好处:

1.可以获取几乎所有的推文(Twitter API限制只能持续3200个推文);

2.快速初始设置;

3.可以匿名使用,无需Twitter注册;

4.没有速率限制

Twitter的限制

Twitter会限制用户可以浏览的时间线。这意味着通过.Profile或者.Favorites你只可以看到~3200条推文。

要求

1.Python 3.6;

2.aiohttp;

3.aiodns;

4.beautifulsoup4;

5.cchardet;

6.elasticsearch;

7.pysocks;

8.pandas (> = 0.23.0);

9.aiohttp_socks;

10.schedule;

11.geopy;

12.fake-useragent。

安装

Git的方法:

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

PIP:

pip3 install twint

要么

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

Pipenv:

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

CLI基本示例和组合

一些简单的例子可以帮助您掌握基础知识:

1.twint -u username- 从用户的时间线中删除所有推文。

2.twint -u username -s pineapple- 从包含pineapple的用户时间线中删除所有推文。

3.twint -s pineapple- 从每个人的推文收集每个包含pineapple的推文。

4.twint -u username --year 2014- 收集2014年之前发送推文的推文。

5.twint -u username --since 2015-12-20 - 收集自2015-12-20以来推文的推文。

6.twint -u username -o file.txt - 抓取推文并保存到file.txt。

7.twint -u username -o file.csv --csv - 抓取推文并保存为csv文件。

8.twint -u username --email --phone - 显示可能包含电话号码或电子邮件地址的推文。

9.twint -s "Donald Trump" --verified - 由经过验证的用户显示有关唐纳德特朗普的推文。

10.twint -g="48.880048,2.385939,1km" -o file.csv --csv - 在巴黎一个地方绕半径1公里的推文将它们导出到csv文件中。

11.twint -u username -es localhost:9200 - 输出推文到Elasticsearch数据库中

12.twint -u username -o file.json --json - 抓取推文并保存为json文件。

13.twint -u username --database tweets.db - 将推文保存到SQLite数据库。

14.twint -u username --followers - Twitter用户的粉丝。

15.twint -u username --following - Twitter用户关注的人。

16.twint -u username --favorites - 收集用户最喜欢的所有推文(收集~3200推文)。

17.twint -u username --following --user-full - 收集一个人关注的完整用户信息

18.twint -u username --profile-full - 使用缓慢但有效的方法从用户的个人资料中收集推文(收集~3200推文,包括转推)。

19.twint -u username --retweets - 使用快速方法从用户的个人资料中收集最近的900个推文(包括转推)。

20.twint -u username --resume resume_file.txt - 从上次保存的scroll-id开始恢复搜索。

有关命令和选项的更多详细信息位于Wiki中

模块示例

Twint可以用作模块并支持自定义格式。

import twint
# Configure
c = twint.Config()
c.Username = "noneprivacy"
c.Search = "#osint"
c.Format = "Tweet id: {id} | Tweet: {tweet}"
# Run
twint.run.Search(c)

输出

955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import twint
c = twint.Config()
c.Username = "noneprivacy"
c.Custom["tweet"] = ["id"]
c.Custom["user"] = ["bio"]
c.Limit = 10
c.Store_csv = True
c.Output = "none"
twint.run.Search(c)

存储选项

1.写入文件;

2.CSV;

3.JSON;

4.SQLite;

5.Elasticsearch。

Elasticsearch设置

有关使用Twint设置Elasticsearch的详细信息位于Wiki中

图形可视化

图表详细信息也位于wiki中

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

常问问题

我尝试从用户那里抓取推文,我知道它们存在,但我没有得到它们。

Twitter可以禁止影子账户,这意味着他们的推文不会通过搜索获得。要解决此问题,--profile-full请通过CLI使用Twint,如果使用Twint作为模块,则添加config.Profile_full = True。请注意,此过程将非常缓慢。

更多例子

仅获取关注者用户名/以下用户名

twint -u username --followers
twint -u username --following

获取关注者/关注用户的用户信息

twint -u username --followers --user-full
twint -u username --following --user-full

用户列表

仅获取用户的用户信息

twint -u username --user-full

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

twint --userlist inputlist --user-full

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

大厂面试题

 

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值