트위터로 자동 검색하고 자동 패보하는 스크립트

트위터로 자동 검색하고 자동 패보하는 스크립트



이쪽, Node.js에서 Twitter 검색에서 100 개가 넘는 트윗을 얻고 싶습니다. 를 참고로 개조했습니다. @ 료 감사합니다.
var twitter = require('twitter');


//変更すべき設定
var client = new twitter({
    consumer_key: '',
    consumer_secret: '',
    access_token_key: '',
    access_token_secret: ''
});
searchTweet('検索するワード');

function searchTweet(queryArg, nextResultsMaxIdArg = null) {
  client.get('search/tweets', { q: queryArg, count: 10, max_id: nextResultsMaxIdArg }, (error, searchData, response) => {
    for (item in searchData.statuses) {
      let tweet = searchData.statuses[item];
      console.log('@' + tweet.user.screen_name+' : '+tweet.text);
// ここからファボするスクリプト
      let param = ({id: tweet.id_str})
      client.post('favorites/create', param, (err, response) => {
          if(err) {
              console.log(err[0].message);
          } else {
              console.log('■ いいねしました!')
              const username = response.user.screen_name;
              const favoritedTweetId = response.id_str;
              console.log(`■ Favorited: https://twitter.com/${username}/status/${favoritedTweetId}`);
          }
      });
// ここまで
    }

    if (searchData.search_metadata == undefined) {
      console.log('---- Complete (no metadata) ----');
      return 0;
    }
    else if (searchData.search_metadata.next_results) {
      let maxId = searchData.search_metadata.next_results.match(/\?max_id=(\d*)/);

      if (maxId[1] == null) {
        return 0;
      }

      console.log('---- next:' + maxId[1] + ' ----');
      searchTweet(queryArg, maxId[1]);
    }
    else {
      console.log('---- Complete ----');
      return 0;
    }
  });
}

maxId라고 하는 것이 무엇을 위해서 있을까, 왜 그것을 searchTweet()의 속성에 넣고 있는지 모르겠다. 아마 count수에 도달하면 끝으로 하도록(듯이) 이용하고 있는 것 같습니다. 누군가 말해주세요

추가



주의



이 스크립트를 속삭여 사용하고 있다면, 화보하는 코드에서 console.log(err[0].message 로 에러가 나오게 되었다. 에러 내용을 조사하고 싶지만 어쩌면 트위터 측의 걸림(기능 락) 되었을지도 모른다. 더 이상 흘리면 아카 BAN 될 것 같아 매우 요로식하지 않기 때문에 포기하고 다른 방법을 찾기로 한다.

계속

계속



분명히이 오류처럼 보입니다.
오류: HTTP 오류: 429 Too Many Requests
콘솔을 바라보고 에러가 나기 시작하자마자 Ctrl+C로 멈추는 것이 좋다. 별로 내고 있으면 페널티가 있는지 확실하지 않다.

"API v1.1에서 리소스별로 결정된 애플리케이션 속도 제한이 부족하여 요청을 처리할 수 없는 경우 반환됩니다. API v1.1 속도 제한을 참조하십시오."
Twitter 개발자 문서 일본어 번역
WebAPI를 설계하기 위한 이용 제한(Rate Limit)에 대해 조사했다

좋은 웹페이지 즐겨찾기