今回はじゃがいもの販売結果をウェブスクレイピングしてみるでやったことの説明をしたいと思います。
「スクレイピングの実行」と「ワードプレスへの投稿」の二つのパートに分かれるので、今回は前者について説明したいと思います。ちなみに、どちらもpythonで実装しました。
さて、ウェブスクレイピングはpythonのrequestsモジュールを使用して実装しました。コードの概略は以下のようなものになりました。
import requests
def scraping():
#①ウェブサイトからcsvファイルの取得
url = "http://examples/data.csv"
download = requests.get(url)
#②ウェブサイトが存在しているか判定
if (download.status_code == 404):
return 0
#③取得したデータのデコードと保存
decoded_content = download.content.decode('shift_jis')
with open('data.csv','w') as f:
f.write(decoded_content)
return 1
if __name__=="__main__":
dif = scraping()
if (dif == 1):
print("OK")
else:
print("NG")
まず、requests.getで指定ウェブサイトのcsvファイルを取得します(①)。それからウェブサイトが作成されていない(存在していない)場合も考慮してstatus_codeでの判定をした(②)後に、取得したデータをデコードし保存しています(③)。
非常にシンプルなのでそんなに目新しい部分はないのですが、一番の工夫点は②ですかね。まだホームページが更新されていなかったりする場合に判定したかったので。
こんな感じのプログラムを定期的に実行してファイルを自動取得するようにしています。もうちょっと色々付け加えればたくさんのファイルを一度に取得することもできそうですね~。
それでは次回は「ワードプレスへの投稿」を説明しようと思います。