perlのスクレイピングでコンテンツがとれない

投稿者: | 2016年3月16日

【概要】

perlにてスクレイピングをしていたが、数サイトあるなかで、一部だけ上手くコンテンツがとれない状況が発生。

【調査したこと】

(推測)

  • 同じサーバにあるので、サーバではなくサイトの問題。
  • apacheの設定は全く同じなので、サイトのコンテンツの問題かも。
  • とはいえ、ツール側で対応することになりそう。なので、ツール周りを調査。

(作業したこと)

  • 現状把握
    • 該当のスクレイピング時のhttpコードは200
    • コンテンツが500文字弱位で切れている

もしかしたらオープンソースを使ったサイトなので、最新のバージョンでは、user agentでのアクセス時にサイズを指定しないと行けないかも。
→探したけど見当たらない...

 

レスポンスヘッダーに気になるものがいくつか。

  • ‘client-aborted’ => ‘Client-Aborted’
  • ‘client-response-num’ => ‘Client-Response-Num’
  • ‘client-aborted’ => ‘die’

アクセスの度に値が変わったりする、ということ位しか分からなかった。
アクセスが正常に行われてない。

 

「’x-died’ => ‘Illegal field name \’X-Meta-Twitter:card\’ at ...」というものがあった。
クライアント側で想定していないレスポンスがある?

 

【そして解決】

以下のサイトを見つけた。
http://stackoverflow.com/questions/11169033/no-content-from-lwp-request

HTML::HeadParser」をcpanでインストールすると、正常にコンテンツを取得できるようになった。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)