파이썬 : 데이터 전송 객체

html-agility-pack ironpython python

문제

문제

나는 고객의 웹 페이지에서 구문 분석 / 액세스해야하는 다양한 html 테이블을 가지고 있으며 테이블의 데이터 (테이블의 길이)가 다를 수 있습니다.

그래서, 제가 한 것은 각 테이블에 대한 클래스를 만드는 것이 었습니다. 그러나이 작업은 가변적 인 데이터를 파싱 할 필요가있는 많은 테이블이 있었기 때문에 어리석게되었습니다.

문제

파이썬에서 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)

사리

  • Iron Python을 사용하고 있습니다.
  • 정보를 테이블로 옮기고 있습니다 (SQL Server).
  • htmlAgilityPack을 사용하여 html 테이블을 구문 분석합니다.
  • 웹 크롤링 중입니다.

수락 된 답변

이것은 당신의 목적에 맞는 것 같다.


인기 답변

파이썬은 동적입니다.

__get____set__ 무시하고 클래스 (인스턴스) 내부의 사전에 '필드 값'을 저장하십시오.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.