問題
顧客のWebページから解析/アクセスする必要のあるさまざまなhtmlテーブルがありますが、そのデータはテーブルによって異なる場合があります(列の長さ)。
したがって、私が行ったことは、テーブルごとにクラスを作成することでしたが、データを変化させて解析する必要のあるテーブルがたくさんあるため、このタスクはばかげています。
質問
転送するデータごとにクラスを作成する以外に、PythonでDTOを実装する方法はありますか?
例
クラス
class HoldItem():
@property
def none1(self):
return self
@property
def none2(self):
return self
@property
def item(self):
return self
@property
def plant(self):
return self
@property
def location(self):
return self
@property
def material(self):
return self
@none1.setter
def none1(self, value):
self.none1 = value
インスタンスにデータを入力します
items = []
for tds in trs:
item = HoldItem()
if (x == PROP_A):
item.prop_a = tds.InnerText
...
...
...
items.append(item)
return items
SQLServerデータベースに転送する
for item in items:
command.AddWithValue("@prop_a", item.prop_a)
事実
- IronPythonを使用しています
- 情報をテーブルに転送しています(SQL Server)
- HTMLテーブルを解析するためにHtmlAgilityPackを使用しています
- ページをウェブクロールしています