爬取twitter数据--使用twint

最近因为实验验证的需要,想要爬取推特的数据,首先想到的是通过推特官方的开发者计划拿到key然后直接爬取,连接如下:
twitter myapp
但是问题就在于,这玩意我用两个号申请都被拒绝了,据说是+86的号码被拒就是会很大。我……,想要申请试试的参考下面这个链接
知乎问题,这个下面的评论多看看,注意一些话术,可能会成功。
后来我找到了这个开源的东西,twint,可以直接爬取
https://github.com/twintproject/twint
安装方式就是官方的这个安装方式:

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

我是在ubunut20.04下面弄的,这个地方要注意,python的版本必须高于3.5,官方是要求3.6,我用3.8没问题。ubuntu20.04自带的就是python3.8。这个地方踩了大坑,弄了一晚上,ubuntu16.04自带的是3.5.
接下来就是使用了,直接使用twint命令就可以,看下官方的这几个说明:
usename替换为你想抓取的用户的名字就可以了。比如这个:
在这里插入图片描述
应该是LNstats。
twint -u username 抓取指定用户的所有推文,不包括转发,但是包括回复
twint -u username -s pineapple 抓取指定用户时间线上的所有包含"pineapple"的推文
twint -s pineapple 抓取所有人包含"pineapple"的推文
twint -u username --year 2014 抓取指定用户2014年之前发布的推文
twint -u username --since “2015-12-20 20:30:15” 收集指定用户指定时间之后的推文
twint -u username --since 2015-12-20 和上面一样的(没测试,翻译过来一样的,谁试了可以说下)
twint -u username -o file.txt 抓取指定用户的推文并存入file.txt
twint -u username -o file.csv --csv 抓取指定用户的推文存入file.csv
twint -u username --email --phone 抓取指定用户可能是电话或者是email的推文
twint -s “Donald Trump” --verified 抓取指定用户关于"Donald Trump"的推文
twint -g=“48.880048,2.385939,1km” -o file.csv --csv 抓取指定经纬度1km内的所有推文并存入file.csv
twint -u username -es localhost:9200 将抓取的推文输出给elasticsearch
twint -u username -o file.json --json 抓取指定用户的推文并输出为file.json
twint -u username --database tweets.db 抓取指定的推文并输出为tweets.db
twint -u username --followers 抓取指定用户的关注者
twint -u username --following 抓取指定用户关注的人
twint -u username --favorites 抓取指定用户喜欢的所有推文,最大上限3200条
**twint -u username --following --user-full ** 收集指定用户关注的所有用户信息
twint -u username --timeline 使用高效的方式从用户的个人资料中收集推文,最多3200条,包括推文和回复
twint -u username --retweets 使用快速的方式收集指定用户最后900条推文,包括转发
twint -u username --resume resume_file.txt 从最后保存的滚动id开始继续搜索。这个滚动id好像就是每个推文的id,当初看加载的内容,每个推文都有。

我抓取了上面的账号的数据,大概这样:
在这里插入图片描述

最后说一句,在widows下面也可以用,参见官方的文档,但是我没成功,说是无法连接推特,开全局模式也没用。

  • 3
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 32
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值