Griverさんへの返信 その3
少し退屈かもしれませんが、今回は精神論の話をさせてください。
編集合戦の火蓋を切ってませんか?トマ村さんが応戦してきたら開戦してる気がします。
これだけは言いきれます。トマ村さんがご自分のコードに戻していたとしても、編集合戦は起きません。
なぜそもそもWedataを更新しているのか考えてみたのですが、コードを弄ること自体が好きだからです。ある意味初めて作ったミニ四駆をコースで走らせている小学生となんら変わらないとさえ思います。
テキストノードがどうの、クオーテーションがどうのという話はごく表層的な上っ面だけの話で本質的にそんなことはどうでもいいのです。もしかしたら、機能性や安定性だってどうでもいいのかもしれません。ここまで編集を続けられているのは、ただただ楽しいという理由だけだからです。
Grieverさんが長いXPathを管理しているのだって楽しいという気持ちがあるからではありませんか?
なんとか改善策を見つけたいんですがソースが汚いし7000文字とかの XPath 作り出しててデバッグが大変なので時間かかりそうです。
— Griever (@Griever2) December 7, 2021
好きだからこそ人とぶつかりあうこともあるのですが、長いこと続けているとなんとなく引き際は見極められます。長く編集を続けられている方とは信頼関係があるからですね。できればGrieverさんともそういう信頼関係を築きたいと思っています。
@class も contains もクォーテーションも使っていい条件なら walkerplus article_list は
//div[@class='m-mainlist']
や
//ul[@class='m-newslist__list']
や
//li[@class='m-newslist__item']
ではダメなんですか?(動作確認はしていません)
まず現状はこうしています。
//li[./a[contains(@href,"/article/")]]
アイテム: walkerplus article_list - データベース: AutoPagerize - wedata
なぜ単にクラス名で指定しないかというと、理由は2つあります。
1.初見のサイトでクラス名をどこまで信用していいか分からない
これまで長いクラス名を信用しすぎて痛い目を見てきた経験からの判断です。
2.誰でも書けるコードを書くのはつまらない
メンテナンスを軽んじるつもりはないのですが、長く続けていると飽きがきます。ずっと楽しんで編集を続けるにはもっと難しい課題に挑戦したいのです。
追記
本丸も更新しました。ようやくトマ村さんのコードに追いついた感があります。
descendant::*[contains(@class,"date")][1]/../following-sibling::div[./figure or ./ul]
アイテム: walkerplus - データベース: AutoPagerize - wedata