前回に引き続き、Scrapyを使ってこの日記のクローリングを行います。 github.com 今回はクローリングで得られた値を、バリデーションしてPostgreSQLに保存するPipelineを実装します。Spiderの実装は前回の投稿も参考にしてみてください。 ohke.hateblo.jp こちらの書籍を参考にしてます。 Pipeline ScrapyにおけるPipelineは、Spiderがクローリング・スクレイピングした値に対して、バリデーションチェックや永続化などの後処理を行うための仕組みです。 Spiderが取得した値をItemに詰めて返すと、優先順位に従って複数のタスクが実行されます。 ここでは例として、前回作成したarchive_spiderを使い、取得した記事タイトル・投稿日のフォーマットをチェックするPipelineと、PostgreSQLに保存するPipelineを作
FOSS4G Advent Calendar 2017 18日目の記事です。 毎年皆さま新しい技術記事のなか、今さらながらRを始めたのでQGISのプラグインから使ってみた記事です。 R:オープンソースの統計解析向けプログラミング言語。初心者です。 QGIS:オープンソースのGISソフト。お世話になってます。 PostgreSQL:オープンソースのデータベースソフト。お世話になってます。 Python:いろいろ使えるスクリプト言語。チューニング次第で早くなったり遅くなったり。 で、この方々の関係がどうなっているかとゆうと R - QGIS プロセッシングでRスクリプトを利用できる。 https://docs.qgis.org/2.18/ja/docs/training_manual/processing/r_intro.html R- PostgreSQL RPostgreSQLパッケージで
参考資料 mysqlやsqliteについてはstackoverflowの下記記事参照 http://stackoverflow.com/questions/10065051/python-pandas-and-databases-like-mysql 尚、上記で使っているframe_queryはdeprecatedになっていて、現在ではread_queryを使うらしい。 postgresqlとの接続 psycopg2を使う pip install psycopg2 SELECTする際の適当なサンプルコード import psycopg2 as pg with pg.connect(database='db_name', user='user_name', host='host_name', port=5432) as conn, conn.cursor() as cur: cur.exec
参考:pandasでRDBの読み書きをする Pandasは、R言語のdata.frameと呼ばれるデータ構造をPythonに移植したもので、 データ解析によく使われるライブラリ。 データ解析にはデータベースが切っても切れない関係であるため、 PandasはSQLと密に連携できるようになっている。 SQLには色々な方言があるのだが、Pythonでそれらの方言を統一的に扱おうとしているのがSQLAlchemyというライブラリ。 そこで、PandasからSQLAlchemyを使ってデータベースから読んだデータをDataFrameに変換するには: import sqlalchemy import pandas as pd # この例ではsqliteを使うが、 engine = sqlalchemy.create_engine('sqlite:///example.db') # 例えば、Postgr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く