Twitter의 API를 사용하지 않고 Twitter 프로필에서 트윗을 스크랩합니다.
필요한 것
설치
나중에 볼 수 있듯이 도커 내에서 실행
twint
하지만 시스템에 직접 설치하려는 경우 다음과 같은 옵션이 있습니다.힘내:
git clone https://github.com/twintproject/twint.git
cd twint
pip3 install . -r requirements.txt
씨:
pip3 install twint
or
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
파이프라인:
pipenv install git+https://github.com/twintproject/twint.git#egg=twint
용법
설치
twint
하면 다음 명령을 사용하여 트윗 스크래핑을 시작하고 결과를 .csv 파일에 저장할 수 있습니다.twint -u username -o file.csv --csv
결과는 다음과 같습니다.
twint
로 더 많은 일을 할 수 있습니다!# Display Tweets by verified users that Tweeted about Trevor Noah.
twint -s "Trevor Noah" --verified
# Scrape Tweets from a radius of 1 km around the Hofburg in Vienna export them to a csv file.
twint -g="48.2045507,16.3577661,1km" -o file.csv --csv
# Collect Tweets published since 2019-10-11 20:30:15.
twint -u username --since "2019-10-11 21:30:15"
# Resume a search starting from the last saved tweet in the provided file
twint -u username --resume file.csv
더 많은 영감을 얻으려면 list of all commands on GitHub을 살펴보십시오.
그런 다음 좋아요, 리트윗 또는 집중하고 있는 다른 KPI별로 트윗을 정렬하여 트윗 분석을 시작할 수 있습니다. 데이터로 무엇을 할지는 당신에게 달려 있습니다.
Docker와 함께 twint 및 twint-search 사용
twint는 또한 twint-search이라는 트윗(예: 해시태그)을 검색할 수 있는 멋진 UI를 제공합니다. 다음 단계에서는 docker로 트윗을 스크랩하고 Elasticsearch에 저장하고 twint-search로 결과를 탐색하는 방법을 보여드리겠습니다.
먼저 twint-docker 리포지토리를 복제해야 합니다.
git clone https://github.com/twintproject/twint-docker
cd twint-docker/dockerfiles/latest
마지막으로 도커 컨테이너를 스핀업할 수 있습니다.
docker pull x0rzkov/twint:latest
docker-compose up -d twint-search elasticsearch
모든 것이 시작되면 다음과 같이 "사용자의 트윗을 긁어 .csv 파일에 저장"명령을 실행할 수 있습니다.
docker-compose run -v $PWD/twint:/opt/app/data twint -u natterstefan -o file.csv --csv
여기서 무슨 일이 일어나고 있는지 자세히 살펴보겠습니다. 하나의 마운트된 볼륨
x0rzkov/twint
이 있는 docker-compose run
로 -v $PWD/twint:/opt/app/data
도커 이미지를 시작합니다. 이 컨테이너 내부에서 twint -u natterstefan -o file.csv --csv
를 실행합니다.작업 결과는 마운트된 디렉토리에 저장됩니다
$PWD/twint
. 이것은 기본적으로 twint 하위 폴더의 현재 경로입니다.선택한 계정의 트윗 수에 따라 명령이 완료됩니다. 완료되면
ls -lha ./twint/file.csv
와 함께 결과가 표시됩니다.이제
docker-compose run -v $PWD/twint:/opt/app/data twint
를 사용하여 지원되는 모든 twint 명령을 실행할 수 있습니다.twint-search로 트윗 탐색
이전 예에서는 결과를 .csv 파일에 저장했습니다. 그러나 결과를 Elasticsearch에 저장할 수도 있습니다.
우선,
docker-compose.yml
를 좋아하는 편집기로 열고(내 것은 VSCode) 기존 CORS 문제를 수정하여 내pull request 를 병합합니다. elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}
container_name: twint-elastic
environment:
- node.name=elasticsearch
- cluster.initial_master_nodes=elasticsearch
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=${ELASTIC_JAVA_OPTS}"
+ - http.cors.enabled=true
+ - http.cors.allow-origin=*
이제 앱을 시작할 준비가 되었습니다.
# start twint-search and elasticsearch
docker-compose up -d twint-search elasticsearch
그런 다음 결과를 Elasticsearch에 저장하기 시작합니다.
docker-compose run -v $PWD/twint:/opt/app/data twint -u natterstefan -es twint-elastic:9200
마지막으로 http://localhost:3000을 열면 내 예제와 비슷한 것을 볼 수 있습니다.
스크랩한 데이터를 원하는 대로 가지고 놀아보세요. Elasticsearch에 더 많은 데이터를 추가하고 더 많은 트윗을 탐색할 수도 있습니다. 그렇게 쉽습니다.
재미있게 보내세요.
에 특별히 감사드립니다. 그는 도구를 나와 공유했습니다.
>> Twitter로 연결해봅시다 🐦: <<
Reference
이 문제에 관하여(Twitter의 API를 사용하지 않고 Twitter 프로필에서 트윗을 스크랩합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/natterstefan/scrape-tweets-from-twitter-profiles-without-using-twitter-s-api-47n7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)