Twitter의 API를 사용하지 않고 Twitter 프로필에서 트윗을 스크랩합니다.

Twitter 프로필을 만든 후 가장 영향력 있는 트윗이 무엇인지 궁금한 적이 있습니까? 또는 지난 30일 동안 트윗의 성과는 어떻습니까? open-source software twint (MIT)를 사용하면 Twitter의 API를 사용하지 않고도 모든 트윗(또는 다른 사람 😬)을 스크랩하고 분석할 수 있습니다. 몇 분 안에 스크랩할 수 있는 방법을 알려드리겠습니다.

필요한 것


  • 분석하려는 트위터 사용자 이름(예: mine )
  • 터미널(macOS에서는 iTerm2을 선호합니다)
  • 파이썬 3.6
  • 및 기타dependencies는 GitHub 페이지에 나열되어 있습니다.
  • 선택 사항: Docker(Docker 없이도 작동함)

  • 설치



    나중에 볼 수 있듯이 도커 내에서 실행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로 연결해봅시다 🐦: <<

    좋은 웹페이지 즐겨찾기