スクレイピングで遮断されるのを防ぐ効果があるんです。
なんでこんなことを?
スクレイピングをしていた際に、あるサイトからデータの取得をしようとしたところ、特定回数で遮断されてしまいました。理屈を考えるとIPで遮断すると失うものも大きい(スマホなどの影響で)だろうし、たぶんuser agentも見ていると判断して、user agentをアクセス回数ごとに切り替えるようにしたらうまくいきました。
今回は、そのuser agentを変更する方法をメモしておきます
ini_setをスクリプトの中で設定することでできた
記載方法はそんなに難しくなくて、user agentの文字列を設定するだけです。
$fake_user_agent = "Mozilla/6.2 (X11; Linux i686) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11";
ini_set('user_agent', $fake_user_agent);
これだけで大丈夫。
このuser agentの文字列を私はmysqlに50パターンぐらいいれておいて、最初に使った時間、最後に使った時間、アクセスした回数を記録しつつ、アクセス回数が一定回数を超えたら、使えるuser agentを取得して〜の繰り返しで乗り越えられました。
メモがてら。