
目的達成にはまだ遠く、初心者には奥が深いね
どうも、じぇいかわさきです。
Pythonによるスクレイピングをまたはじめました。一旦は、一通りできたのでお休みしていましたが、結局は目的がはっきりせずに勉強したので、ほぼ忘れてしまいました。
今度は目的をはっきりさせて、取り組もうと思い一念発起して再び始めました。
今回は、いつも読んでいるHPで毎時人気記事のランキングが更新されていくのです。
必ずしも、全部が全部読んでいるわけではなく、面白そうなタイトルだなって思っていても、読み忘れる事が度々発生しています。
そこで、今度はスクレイピングを使って、1時間毎の人気記事のリストを取得して、URLと一緒にファイルに格納し、後からでも読むことができるようにしようと思いました。
正に実用と勉強を兼ねた内容になっているので、今度は内容を理解できるかと思っております。
しかし、前回やったことまでも忘れてしまっているほどのぼんくらですから、自分のものにできるか少々心配ですね。
というわけで、今回新たにスクレイピングを極めていこうと思います。
まずはChromeブラウザを使用し、デベロッパーツールを活用しながら、HPの中に書かれているCSSを解読する作業からです。
この辺の使い方は、他の用途でも使っていることも有り、忘れていないので割と簡単に目的を達成する事ができました。
ここでは、スクレイピングをしようとするclassを探したりするのにデベロッパーツールを使うんですね。
前回の事を思い出しながら、なんとかここまでコードを書きました。
書きましたって言っても、たったこれだけのコードですから恥ずかしいですよね。
このコードを動かすと、希望通りにリストとURLを取得してくれ、最初の目標は簡単に達成することができました。
しかし、本来のスクレイピングの目的は、必要な情報を集めるということになりますが、このコードですと不要なデータも一緒に取得し、むしろ不要部分の方が多いくらいなんです。
というのも、1つのコンテナの中にはコンテンツ用のタイトルと、そのリンクするURLが有るだけなら良いのですが、それ以外にも著者のリンクや、タグのリンクなど、不要なものが山のように有るんです。
目的の項目は、何というclassになっているのかまでは確認でき、そこだけ抽出することはできたのですが、その項目に対応するURLが逆に引っ張ってこれなくなってしまいました。
何度もコードを書き直して、途中の今の状況になっていますが、本来の目的を達成するためには、未だ時間が掛かりそうです。
そもそも、Pythonの基礎自体をもう一度思い出さないとダメかもしれないです。
ということで、やりたいことがはっきりしているので、後は解決策を一つひとつ見つけて、対応し自分の知識に変えていくだけですね。
先は長いですが、面白くてあっという間に時間だけが過ぎていきます。
集中できてる証拠ですね。
いいなと思ったら応援しよう!
