5

Googleトレンドからpytrendsデータを自動的にダウンロードするために使用します。csv私が使用したコードは以下のとおりです。この場合、2008 年から現在までの毎月の Google トレンド データをダウンロードしています。

from pytrends.request import TrendReq
from urllib.parse import unquote
from dateutil.relativedelta import relativedelta
import datetime
import pytrends

google_username = "xxxxx@gmail.com"
google_password = "xxxxx"

search_term = unquote('%2Fm%2F07gyp7')
google_trend = TrendReq(google_username, google_password, custom_useragent='Pytrends'  )
google_trend_payload = {'gprop' : 'news' , 'q': search_term}
trendresult = TrendReq.trend(google_trend_payload, return_type = 'dataframe')
print(trendresult)

pytrends の結果と比較した最初の 5 か月間の Google Web サイトの結果:

Date          Pytrends data          Manual csv data
2008-01       21.0                   28.0
2008-02       16.0                   19.0
2008-03       16.0                   21.0
2008-04       15.0                   18.0
2008-05       22.0                   31.0

理由を知っている人はいますか?ありがとうございました。

4

1 に答える 1

3

同じ問題が発生したため、プロジェクト中に手動でダウンロードする必要がありました。今、その理由に気が付きました。グーグルによるサンプリング方法です。毎日、Google は異なるトレンド シリーズを返します。Google が毎日 1,000 万のサーバーを持っていると想像してみてください。クエリごとに、おそらく 10,000 のサーバーのみをサンプリングします。したがって、一貫したシリーズを取得するには、30 回 (または 50 回) を取得して平均を取ることができます。値がそれほど小さくない系列 (最小で 30 以上) の場合、標準偏差は約 5% (許容範囲) です。

手動ダウンロードと gtrend ダウンロードの違いは、データの抽出方法が同じではないことに関連している可能性があります。gtrend はタイプhttps://www.google.com/trends/fetchContent ... の URL をダウンロードします。手動ダウンロードがどのように処理されるかはわかりましたが、httpsのようなデータを抽出する別の方法があることはわかっています。 //www.google.com/trends/trendsReport .. . 後者は、すべての週単位のシリーズを返します (かなり豊富です)。

現時点では、クォータ制限の問題があるようです。

于 2016-12-30T11:25:01.957 に答える