質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.36%

stockedge/netkeiba-scraperの動作途中で、エラーが発生して、困っております。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,322

score 89

前提・実現したいこと

scala初心者でございます。

netkeiba.comをスクレイピングして、競馬予測の素性を作成します、
stockedge/netkeiba-scraperを作動させましたが、

途中で、エラーが発生して困っております。  

stockedge/netkeiba-scraper様より引用

(使い方)

(以下のコマンドを上から順に実行していけば最後に素性が作成される。)

sbt "run collecturl"  このコマンドでは問題なく作動しました。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
**次のコマンドを打ち込んだ後に、エラーが発生しました。
**
(レース結果が載っているURLを収集して「race_list.txt」に保存する。)

sbt "run scrapehtml"

発生している問題・エラーメッセージ

エラーメッセージは下記のソースコードに貼り付けさせていただきます。

該当のソースコード

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\satoru>cd horse

C:\Users\satoru\horse>cd netkeiba-scraper-master

C:\Users\satoru\horse\netkeiba-scraper-master>sbt "run collecturl"
[info] Set current project to netkeiba-scraper-master (in build file:/C:/Users/satoru/horse/netkeiba
-scraper-master/)
[info] Running Main collecturl
0: collecting URLs from http://db.netkeiba.com/?pid=race_top&date=20160702
1: collecting URLs from http://db.netkeiba.com/?pid=race_top&date=20160604
2: collecting URLs from http://db.netkeiba.com/?pid=race_top&date=20160501
3: collecting URLs from http://db.netkeiba.com/?pid=race_top&date=20160402

#

C:\Users\satoru\horse\netkeiba-scraper-master>sbt "run scrapehtml"
[info] Set current project to netkeiba-scraper-master (in build file:/C:/Users/satoru/horse/netkeiba
-scraper-master/)
[info] Running Main scrapehtml
1:downloading http://db.netkeiba.com/race/201610020301
2:downloading http://db.netkeiba.com/race/201610020302
3:downloading http://db.netkeiba.com/race/201610020303
4:downloading http://db.netkeiba.com/race/201610020304

#

329:downloading http://db.netkeiba.com/race/201507040401
330:downloading http://db.netkeiba.com/race/201507040402
331:downloading http://db.netkeiba.com/race/201507040403
332:downloading http://db.netkeiba.com/race/201507040404
error] (run-main-0) org.openqa.selenium.WebDriverException: org.apache.http.conn.ConnectTimeoutExce
tion: Connect to db.netkeiba.com:80 timed out
error] Build info: version: '2.41.0', revision: '3192d8a6c4449dc285928ba024779344f5423c58', time: '
014-03-27 11:29:39'
error] System info: host: 'satoru-PC', ip: '192.168.100.100', os.name: 'Windows 7', os.arch: 'x86',
os.version: '6.1', java.version: '1.8.0_101'
error] Driver info: driver.version: HtmlUnitDriver
rg.openqa.selenium.WebDriverException: org.apache.http.conn.ConnectTimeoutException: Connect to db.
etkeiba.com:80 timed out
uild info: version: '2.41.0', revision: '3192d8a6c4449dc285928ba024779344f5423c58', time: '2014-03-
7 11:29:39'
ystem info: host: 'satoru-PC', ip: '192.168.100.100', os.name: 'Windows 7', os.arch: 'x86', os.vers
on: '6.1', java.version: '1.8.0_101'
river info: driver.version: HtmlUnitDriver
       at org.openqa.selenium.htmlunit.HtmlUnitDriver.get(HtmlUnitDriver.java:489)
       at org.openqa.selenium.htmlunit.HtmlUnitDriver.get(HtmlUnitDriver.java:465)
       at RaceScraper$$anonfun$scrape$1.apply(Main.scala:53)
       at RaceScraper$$anonfun$scrape$1.apply(Main.scala:48)
       at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
       at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
       at scala.collection.immutable.List.foreach(List.scala:318)
       at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
       at scala.collection.AbstractTraversable.map(Traversable.scala:105)
       at RaceScraper$.scrape(Main.scala:48)
       at Main$.main(Main.scala:1976)
       at Main.main(Main.scala)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
aused by: org.apache.http.conn.ConnectTimeoutException: Connect to db.netkeiba.com:80 timed out
       at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)

       at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientCon
ectionOperator.java:178)
       at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.ja
a:304)
       at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java
610)
       at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:44
)
       at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
       at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
       at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:167)
       at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1
81)
       at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1198)
       at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)
       at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376)
       at org.openqa.selenium.htmlunit.HtmlUnitDriver.get(HtmlUnitDriver.java:476)
       at org.openqa.selenium.htmlunit.HtmlUnitDriver.get(HtmlUnitDriver.java:465)
       at RaceScraper$$anonfun$scrape$1.apply(Main.scala:53)
       at RaceScraper$$anonfun$scrape$1.apply(Main.scala:48)
       at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
       at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
       at scala.collection.immutable.List.foreach(List.scala:318)
       at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
       at scala.collection.AbstractTraversable.map(Traversable.scala:105)
       at RaceScraper$.scrape(Main.scala:48)
       at Main$.main(Main.scala:1976)
       at Main.main(Main.scala)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
trace] Stack trace suppressed: run last compile:run for the full output.
ava.lang.RuntimeException: Nonzero exit code: 1
       at scala.sys.package$.error(package.scala:27)
trace] Stack trace suppressed: run last compile:run for the full output.
error] (compile:run) Nonzero exit code: 1
error] Total time: 24963 s, completed 2016/08/25 5:05:35

:\Users\satoru\horse\netkeiba-scraper-master>

試したこと

**未曾有のエラーメッセージで、何をどうしたら良いのか、見当もつきません。

御教示、よろしくお願いいたします。
**

補足情報(言語/FW/ツール等のバージョンなど)

scala

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • argius

    2016/08/25 21:03

    2番目の#途中省略しますの下のメッセージは、左端が1ケタ切れていますね。
    今回は大丈夫ですが、場合によっては重要な情報が読めなくなってしまうこともありますので注意してください。

    キャンセル

  • argius

    2016/08/25 21:03

    本文中に、PythonとJavaという文字が見えますが、Scalaですよね?
    タグもJavaになっていますので、修正をお願いします。

    キャンセル

  • akakage13

    2016/08/25 21:30

    argius様、訂正させていただきました。
    よろしくお取り計らい願います。

    キャンセル

  • argius

    2016/08/26 01:20

    エラーになったコマンドをもう一度実行しても同じエラーが出ますか?
    そのエラーが出ているときに、ブラウザーでhttp://db.netkeiba.comにアクセスできますか?

    キャンセル

回答 1

checkベストアンサー

0

私の環境でもこのエラーは再現しました。

原因ははっきりとは分かりませんが、この処理が比較的短時間に数千回サイトにアクセスするため、アクセスし過ぎで一時的に接続を拒否されている可能性があります。

時間を空けてから再度実行してみると良いかもです。
念のため、実行する前に、Webブラウザーでhttp://db.netkeiba.comにアクセスして接続できることを確認してみて下さい。
(向こう側でやっていることなのでこれで効果があるかは分かりません。)

私の場合は、3:00am頃エラーになって、10:30am頃再度実行したら、中断したところから再開できました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/27 20:09

    argius様、いつもありがとうございます。

    小生のノートのスペックが低いことが原因と思われますが、再開して、未だに動作中でございます。

    御教示通り、再度実行いたしましたら、順調に再開することが出来ました。

    本当にありがとうございました。

    キャンセル

  • 2016/08/27 20:48

    > ノートのスペックが低い

    確かにScalaはコンピューターに比較的高スペックを要求するので、場合によっては(特にコンパイルは)とても時間がかかるのですが、このケースは単純に取得しようとしているデータが多いからでしょうね。

    実は、私も2回目のエラーから放置していたので終わっていません。


    11812:downloading http://db.netkeiba.com/race/201310010804
    でまだ続いています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.36%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る