8月末のイベントもひと段落下したので、9月はお休みかなーと思ってたのですが、本業が炎上気味でちょっとストレスだったのもあって、pythonなコードをいじってたのもあって、参加してきました。
(第115回)Python mini Hack-a-thon(オンライン) - connpass
本日は、細々した作業をしながら、静岡県のCOVI19対策サイトのデータ生成ツールの機能追加をしてました。
hrsano645/covid19-gen-datajson-shizuokapref: 静岡県版 新型コロナウイルス対策サイトのdata.jsonを生成するスクリプト
静岡県COVID19対策サイトを始まったときからデータ生成の部分でちょっとだけお手伝いしてまして、最近落ち着いてきたところでさらに機能追加として、静岡県が公開しているCOVID19に関する新着情報を対策サイト側にも乗せようという話があります。
news.jsonを生成する · Issue #10 · hrsano645/covid19-gen-datajson-shizuokapref
実はすでにコードは作成していて、WEBスクレイピングで新着情報のリンクを乗せるような方法でした。ただ静岡県のサイト側でHTMLの構造が変わったりしたことがあって、ちょっと考え直そうとして思いついた方法を書いていました。
ニュース記事の情報部分:新しい探索方法の実装 · hrsano645/covid19-gen-datajson-shizuokapref@05f6c2f
今までは、BeautifulSoupで該当のリンクを探しにCSSセレクターを使っていましたが、それだとサイトの構造が変わったらCSSセレクターを変える必要があって面倒でした。
そこで調べていたらBeautifulSoupのfind_allメソッドで正規表現を使うことができるらしいので、ちょっと工夫することでいい感じに抽出できました。
kondou.com - Beautiful Soup 4.2.0 - find_all()
ニュース記事の情報部分:新しい探索方法の実装 · hrsano645/covid19-gen-datajson-shizuokapref@05f6c2f · GitHub
ということで、いい感じで生成できるようになりました。近いうちにサイト側にものせられるといいなと。
#pyhack 進捗出たー 静岡covid19のニュース一覧出せるようにできそう。 pic.twitter.com/IDrzdymIke
— Hiroshi Sano (@hrs_sano645) September 26, 2020
これでHTMLの構造に悩むことはなさそうです。
まとめ
静岡県COVID19対策サイトのいきさつについてはまた後程...