複数のWebサイトから特定の文字を検索するためのアルゴリズム
世にあるOSSを活用して、地方自治体のWebサイトにおける全角スペースの使用について、自動で見つけるアルゴリズムを考えてみることにしました。
♩でっきるっかな♩
理由
その理由としては、Webページにおける全角スペースの使用(主に字下げ)は、なんの意味もないこと=無駄なことだと、数十年前から思っているためです。
半角スペースも同様なのですが、これはタグ内などで多用しますので、まずはそこには手を出しません。
そして、このレベルのことをもし実現できれば、SIerに頼らずとも、Webサイトに対する様々なことを、自動化できるであろうと考えたためです。
クローリング
まず必要になることは、各WebサイトのHTMLからテキスト情報を取り込むためのクローリングになります。
Pythonのライブラリですかね。
福岡県福岡市と他の地方自治体のWebサイトを簡単に比較
「ChatGPT Plus(GPT-4)」による以下の回答を根拠として、福岡県福岡市と他の地方自治体のWebサイトを比較してみることにしました。
※「ChatGPT Plus(GPT-4)より引用
具体的な自治体のリストは提供できませんが、一般的に大都市やテクノロジーのハブが存在する地域の自治体は、ITに強いと考えられます。これは、資金、人材、インフラストラクチャなどのリソースへのアクセスが広範囲にわたっているからです。
日本における具体例としては、福岡市が挙げられます。福岡市はスタートアップの育成やIT分野への投資に積極的で、"スタートアップシティ福岡"として知られています。
また、アメリカでは、シリコンバレーのあるカリフォルニア州やテクノロジー産業が盛んなオースティン市のあるテキサス州などが、ITに強い自治体として知られています。
しかし、これらの情報は一般化されたものであり、具体的な評価は各自治体の特定のニーズや目標によって変わる可能性があります。
福岡市は人口規模で見ると、日本国内では大阪市、名古屋市、横浜市、京都市などと同規模と考えられます。これらの都市はいずれも約150万人から約370万人の人口を有しています。
世界的に見ると、オーストラリアのアデレード(約130万人)、アメリカのフィラデルフィア(約160万人)、カナダのカルガリー(約130万人)などが福岡市と同じくらいの人口規模を持つ都市となります。これらの数字は2021年9月までのものであり、現在は変動している可能性があります。
東京都内では、港区や渋谷区、新宿区などがITが進んでいると一般的に認識されています。
1. 港区:港区は多くのグローバル企業が本社を構えるビジネスの中心地であり、これらの企業がITを活用したビジネスを推進しています。
2. 渋谷区:渋谷区はスタートアップやテクノロジー企業が多く集まるエリアで、ITによる革新が進んでいます。特に、"渋谷スクランブルスクエア"などの開発により、さらにIT企業の集積が進んでいます。
3. 新宿区:新宿区もまたビジネスの中心地であり、多くの企業がITを活用しています。
また、これらの地区は、企業の本社が集まるだけでなく、高等教育機関や研究機関が集積しており、ITに関連する人材育成や研究開発も進んでいます。
手始めといっては失礼極まりないわけですが、各地方自治体のWebサイトのトップページのHTMLの記述内容だけで、比較してみます。
自治体名 |
ドメイン名 |
タイトル |
---|---|---|
福岡市 | city.fukuoka.lg.jp | 福岡市 ホームページ |
大阪市 | city.osaka.lg.jp | 大阪市:トップページ |
名古屋市 | city.nagoya.jp | 名古屋市公式ウェブサイト:トップページ - City of Nagoya |
横浜市 | city.yokohama.lg.jp | 横浜市 - トップページ |
京都市 | city.kyoto.lg.jp | 京都市:トップページ |
港区 | city.minato.tokyo.jp | 東京都港区ホームページ |
渋谷区 | city.shibuya.tokyo.jp | 渋谷区公式サイト | 渋谷区ポータル |
新宿区 | city.shinjuku.lg.jp | 新宿区 |
ドメイン名だけでわかることは、「lg.jp」(※)を使用しているのが、福岡市、大阪市、横浜市、京都市、新宿区の5つであることと、東京都の特別区(23区)で使用しているのは新宿区だけであることです。
単純な推測で非常に恐縮ですが、名古屋市、港区、渋谷区の3つは、ドメイン名へのこだわりはまったくないようです。
また、トップページのタイトルですが、「ホームページ」という、もはやZ世代・デジタルネイティブの人たちは絶対に使わないであろう言葉をいまだに使っているのは、福岡市と港区の2つだけでした。
また、そもそも不要だと思われる半角スペースについて、「 」ではなく、ただただキーボードからスペースキーによって入力した半角スペースにしているページも、数多くありました(この2点で私個人の評価はダダ落ち)。
※「lg.jp」とは
「lg.jp」は、日本を表すjpドメイン名で、セカンドレベルドメインに組織の属性を表す「lg」が入っている、「属性型jpドメイン名」です。「lg」は「local government(地方自治体)」の略。「jp」は「japan(日本)」の略。「lg.jp」を取得可能な組織は、地方公共団体などで、「総合行政ネットワーク運営協議会」が認定したものになっています。
<参考>総合行政ネットワークの概要
次に、トップページのサイズ、文字数、画像数での比較と、CMSの種類とRSSの使用の有無になります。
自治体名 |
サイズ(KB) |
文字数 |
画像数 |
||
---|---|---|---|---|---|
福岡市 | 99.1 |
2,493 |
90 |
不明 | 無 |
大阪市 | 56.0 |
1,556 |
95 |
不明 | 有 |
名古屋市 | 94.8 |
1,904 |
96 |
不明 | 有 |
横浜市 | 129.7 |
977 |
86 |
不明 | 無 |
京都市 | 49.7 |
1,340 |
60 |
不明 | 有 |
港区 | 130.0 |
1,849 |
78 |
不明 | 有 |
渋谷区 | 742.9 |
811 |
327 |
WordPress | 有 |
新宿区 | 219.4 |
2,957 |
308 |
不明 | 無 |
Webページのサイズや画像数などは、通信速度についてM(メガ)以上が当たり前となっている今の時代では、ほとんど気にならないので、評価対象にはなり得ないかと思います。
とはいえ、渋谷区のトップページのサイズ742.9KBは突出しており、見た目ではそのような感じを一切受けませんので、画像サイズを縮小するなどといった、改良の余地があるように思えます。
そして、おそらくですが、その渋谷区では、CMSにWordPressを使われているものと思われます(それがサイズが大きい主な原因かもしれません)。
それ以外のCMSについては、私の経験不足により、現時点ではまったくわかりませんでした(Drupalはなさそうです)。
RSSについては、福岡市、横浜市、新宿区の3つに見当たりませんでしたが、即時性のためにはX(旧Twitter)などがありますので、あまり意味はないかと思います。
次に、「similarweb」による結果での比較です。
自治体名 |
合計訪問数 |
平均PV |
平均滞在時間 |
|
---|---|---|---|---|
福岡市 | 2.3M |
54.44% |
2.97 |
00:02:23 |
大阪市 | 5.1M |
50.93% |
3.25 |
00:02:30 |
名古屋市 | 4.2M |
45.47% |
4.06 |
00:02:55 |
横浜市 | 6.7M |
44.45% |
4.41 |
00:03:23 |
京都市 | 2.4M |
51.22% |
2.78 |
00:02:56 |
港区 | 769.4K |
46.31% |
4.55 |
00:02:58 |
渋谷区 | 530.1K |
52.55% |
2.54 |
00:02:01 |
新宿区 | 592.9K |
63.46% |
2.58 |
00:01:52 |
特に福岡市が優れているという結果にはなっておらず、おおむね同程度の数値になっています。
ただ、特に目立った点は、特別区(港区、渋谷区、新宿区)の合計訪問数が他に比べて単位が違っていることでしたので、その原因を探るべく、他の区についてもいくつか調べてみました。
自治体名 |
合計訪問数 |
平均PV |
平均滞在時間 |
|
---|---|---|---|---|
千代田区 | 310.2K |
68.32% |
1.94 |
00:01:34 |
文京区 | 566.1K |
62.51% |
2.48 |
00:02:07 |
大田区 | 1.5M |
46.89% |
4.23 |
00:02:33 |
世田谷区 | 942.8K |
57.27% |
2.60 |
00:02:16 |
中野区 | 678.7K |
64.19% |
1.83 |
00:01:57 |
江戸川区 | 984.8K |
53.73% |
4.56 |
00:02:38 |
なぜか、大田区だけ単位が「M」と多くなっています。
人口数では比較すると、大田区の71.64万万人(2016年6月1日)よりも世田谷区の93.91万人(2020年1月1日)の方がかなり多いので、人口数と合計訪問数の因果関係はないようです。
直帰率(1回のセッションで1PVしかない訪問の割合)が低い=情報をたくさん見られているのは、名古屋市、横浜市、港区、大田区の4つです。
この結果には、なんらかの理由(魅力?)があるものと思われます。
ところで、Google検索でトップに表示される人口数が、大田区と世田谷区で年月日が異なっているのはなぜなのでしょう。
その理由がオープンデータの差なのかどうかなど、いつか深掘りしています。
今回は初めてということもあり(ただの言い訳ですm(__)m)、ここまでにさせていただきます。
将来的には、BERTなどのいろいろな最新OSSを使い、クローリングやスクレイピングなどを自動で行った上でデータベース化し、一瞬で比較できるようにしたいと考えております。