指定サイトの画像を自動で取得するアプリの開発をしている際に気づいたことや躓いたこと
・リストでつまづく
画像URL用にリストを作成しようと思ったのですが、最初は宣言の方法がわからず困りました。
abc[100]で100個用意できると思っていたのですが、実際には要素の1個目に100が挿入されるだけでした。
appendというメソッドを使って文字列を追加することはできたのですが、いまいちピンときませんでした。
リストの1番目にこれ、2番目にこれという具体的な指定をしたい場合、appendだと順番に追加されるだけなので、既に10個要素がある場合は11番目に追加されてしまいます。
しかし、調べたところ、insertというメソッドがあり、これを使うと指定したインデックスに特定の値を挿入できました。
・タイトルが謎の文字化けを起こす
ページのタイトルを取得する際、そのページのhtmlファイルをダウンロードして自分のサーバーにアップロードし、それをプログラムで参照すると文字化けする現象がありました。
しかし、取得するサイトのURL直接からだと正しく表示されました。文字化けの原因はわかりませんでした。
・タグ要素でのhtmlデータの取り込みは成功
CSSセレクターは使えませんでしたが、タグ要素指定での取り込みはうまくいきました。
・urllib.urlopen()が廃止されていた
以前はurllib.urlopen()が使えたのですが、困ったことに最新のバージョンでは廃止されていました。こういった情報のアップデートは把握しておかなければなりません。
・strという変数名は使用できない
strという変数名を使用していたところ、strというメソッドが使えなくなってしまいました。予約語として存在する名称は変数名として使用してはいけないことを学びました。
・完成!
指定の間隔ごとに指定URLから画像をダウンロードするプログラムが完成しました。