Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to fetch the input formats of old Atcoder problems #380

Closed
kyuridenamida opened this issue Mar 9, 2019 · 4 comments · Fixed by #398
Closed

Fails to fetch the input formats of old Atcoder problems #380

kyuridenamida opened this issue Mar 9, 2019 · 4 comments · Fixed by #398
Assignees

Comments

@kyuridenamida
Copy link

昔のAtCoderの問題、例えば https://atcoder.jp/contests/arc002/tasks/arc002_3 のような問題の入力フォーマットのフェッチに失敗します。(''が返ってくる)
これはhtmlの構造が昔と今で異なるからだと思いますが、サポートするのは良いと思いますか?

@kmyk
Copy link
Member

kmyk commented Mar 10, 2019

たしかに失敗してますね。サポートするのは良さそうです。

(ところでこれが失敗してるのは <var>X</var> みたいなのの取り扱いによるもののようです。となるとそもそも str でなく bs4.Tag を返すべきだったという可能性もありますが、このまま str でも大丈夫そうでしょうか?)

@kyuridenamida
Copy link
Author

うーん、基本的に次のうち2, 3どれがいいのかは判断がつかないです。1はなんだか実装を露呈させてる印象を受けるので好きじゃないかも。

  1. タグ列をbs4.Tagで返す
  2. タグ列をstrで返す
  3. タグを除いてテキストだけを抽出して返す

僕は2でも3でもいいんですが、ダウンローダーとしての役割を全うするなら、データの加工はユーザーに委ねるのもアリかとは思いますね。どう思いますか?

@kmyk
Copy link
Member

kmyk commented Mar 18, 2019

1はなんだか実装を露呈させてる印象を受けるので好きじゃないかも。

同意します。指摘されるまで気付かなかったけれど、たしかに実装を見せるには必然性が低いですね。

僕は2でも3でもいいんですが、ダウンローダーとしての役割を全うするなら、データの加工はユーザーに委ねるのもアリかとは思いますね。

これも確かにその通りです。その意味では下手な変形を加えない 2 が適切そうです。<var>N</var> を倒してもどうせ $N$ の記法が残るというのも理由のひとつです。

ということで適切さは 2 > 3 >> 1 のようになるかなと思います。普通にそのまま str を返すことにします。

@kyuridenamida
Copy link
Author

kyuridenamida commented Mar 19, 2019

ところで

  1. bs4.Tagはhtml tagのデータにやりとりとしては一般的ではない?
  2. atcoderはこの限りではないが、サイトによってはhtml tag以外の形式もありうるため、html tagの形に制限するのはよくなさそう

という理由で、実装が露呈しているとは言ったんですが、bs4.Tagがどれくらい十分考慮されたデータ形式なのかを知らずに言ってしまいました。すみません。どちらにしろ、strで問題はないですし、助かります!

@kmyk kmyk self-assigned this Mar 19, 2019
fukatani added a commit that referenced this issue Mar 21, 2019
#380: fix AtCoderProblem.get_input_format()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants