인증이 없습니다. API가 없습니다. 제한이 없습니다.
Twint는 Python으로 작성된 고급 트위터 스크래핑 도구로, 트위터 API를 사용 하지 않고도 트위터 프로필에서 트윗을 스크랩할 수 있습니다.
Twint는 트위터의 검색 연산자를 활용하여 특정 사용자의 트윗을 스크랩하거나, 특정 주제, 해시태그 및 트렌드와 관련된 트윗을 스크랩하거나, 이메일 및 전화번호와 같은 트윗에서 민감한 정보를 분류할 수 있습니다. 나는 이것이 매우 유용하다고 생각하며, 이를 통해 정말 창의력을 발휘할 수도 있습니다.
또한 Twint는 트위터에 특별한 쿼리를 보내 트위터 사용자의 팔로어, 사용자가 좋아요를 누른 트윗, 인증, API, Selenium 또는 브라우저 에뮬레이션 없이 팔로우하는 사람을 스크랩할 수도 있습니다.
Twint와 Twitter API를 사용하면 얻을 수 있는 몇 가지 이점은 다음과 같습니다.
거의 모든 트윗을 가져올 수 있습니다(Twitter API는 최근 3,200개의 트윗으로 제한됩니다).
빠른 초기 설정;
트위터 가입 없이 익명으로 사용할 수 있습니다.
속도 제한이 없습니다 .
Twitter는 사용자 타임라인을 탐색하는 동안 스크롤을 제한합니다. 즉, .Profile
또는 .Favorites
사용하면 최대 3200개의 트윗을 얻을 수 있습니다.
파이썬 3.6;
aiohttp;
aiodns;
아름다운수프4;
차르데트;
데이터 클래스
탄성 검색;
파이삭;
팬더(>=0.23.0);
aiohttp_socks;
일정;
지리학;
가짜 사용자 에이전트;
py-googletransx.
힘내:
git clone --깊이=1 https://github.com/twintproject/twint.gitcd 트윈트 pip3 설치 . -r 요구사항.txt
씨:
pip3 트윈트 설치
또는
pip3 설치 --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
파이프라인 :
Pipenv 설치 git+https://github.com/twintproject/twint.git#egg=twint
추가됨 : Dockerfile
저를 포함해 많은 사람들이 설치에 문제를 겪고 있는 것으로 나타났습니다. 제가 조사하는 동안 Dockerfile을 임시로 사용해 주세요.
기본 사항을 이해하는 데 도움이 되는 몇 가지 간단한 예:
twint -u username
- 사용자 의 모든 트윗을 스크랩합니다( 리트윗은 포함하지 않지만 답글은 포함).
twint -u username -s pineapple
- 파인애플이 포함된 사용자 의 타임라인에서 모든 트윗을 스크랩합니다.
twint -s pineapple
- 모든 사람의 트윗에서 파인애플이 포함된 모든 트윗을 수집합니다.
twint -u username --year 2014
- 2014년 이전에 트윗된 트윗을 수집합니다.
twint -u username --since "2015-12-20 20:30:15"
- 2015-12-20 20:30:15 이후 트윗된 트윗을 수집합니다.
twint -u username --since 2015-12-20
- 2015-12-20 00:00:00 이후 트윗된 트윗을 수집합니다.
twint -u username -o file.txt
- 트윗을 스크랩하고 file.txt에 저장합니다.
twint -u username -o file.csv --csv
- 트윗을 스크랩하고 csv 파일로 저장합니다.
twint -u username --email --phone
- 전화번호나 이메일 주소가 있을 수 있는 트윗을 표시합니다.
twint -s "Donald Trump" --verified
- 도널드 트럼프에 대해 트윗한 확인된 사용자의 트윗을 표시합니다.
twint -g="48.880048,2.385939,1km" -o file.csv --csv
- 파리의 한 장소 주변 반경 1km에서 트윗을 스크랩하여 csv 파일로 내보냅니다.
twint -u username -es localhost:9200
- Elasticsearch로 트윗 출력
twint -u username -o file.json --json
- 트윗을 스크랩하고 json 파일로 저장합니다.
twint -u username --database tweets.db
- SQLite 데이터베이스에 트윗을 저장합니다.
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부터 검색을 재개합니다.
명령과 옵션에 대한 자세한 내용은 위키에 있습니다.
이제 Twint를 모듈로 사용할 수 있으며 사용자 정의 형식을 지원합니다. 자세한 내용은 위키에 있습니다
import Twint# Configurec = Twint.Config()c.Username = "realDonaldTrump"c.Search = "great"# Runtwint.run.Search(c)
산출
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import Twintc = Twint.Config()c.Username = "noneprivacy"c.Custom["tweet"] = ["id"]c.Custom["user"] = ["bio"]c.Limit = 10c.Store_csv = Truec.Output = "없음"twint.run.Search(c)
파일에 쓰기;
CSV;
JSON;
SQLite;
엘라스틱서치.
Twint를 사용한 Elasticsearch 설정에 대한 자세한 내용은 위키에 있습니다.
그래프 세부정보도 위키에 있습니다.
우리는 Twint 데스크톱 앱을 개발 중입니다.
사용자의 트윗을 스크랩해 보았는데, 해당 트윗이 존재한다는 것은 알지만 가져오지 못했습니다.
트위터는 계정을 섀도우 금지할 수 있습니다. 즉, 해당 트윗이 검색을 통해 제공되지 않습니다. 이 문제를 해결하려면 CLI를 통해 Twint를 사용하는 경우 --profile-full
전달하고, 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
100개의 영어 트윗을 얻고 이탈리아어로 번역하려면
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
또는
import Twintc = Twint.Config()c.Username = "noneprivacy"c.Limit = 100c.Store_csv = Truec.Output = "none.csv"c.Lang = "en"c.Translate = Truec.TranslateDest = "it" Twint.run.Search(c)
참고:
Google 번역에는 할당량이 있습니다.
Twint를 OSINT 도구로 사용하는 방법
Null Byte가 만든 기본 튜토리얼
Spark, Optimus 및 Twint를 사용하여 NLP로 몇 분 만에 트윗 분석
Kafka 및 Neo4j에 트윗 로드
질문이 있거나 토론에 참여하고 싶거나 추가 도움이 필요한 경우 OSINT 팀의 Twint 중심 채널에 참여하실 수 있습니다.