Source code for armatis.parsers.kgb

# -*- coding: utf-8 -*-

from armatis.models import Track, Parcel
from armatis.parser import Parser, ParserRequest


[docs]class KGBParser(Parser): def __init__(self, invoice_number, config): super(KGBParser, self).__init__(invoice_number, config) parser_request = ParserRequest(url='http://www.kgbls.co.kr/auction/?number=%s' % self.invoice_number) self.add_request(parser_request)
[docs] def parse(self, parser): div = parser.find('div', {'class': 'myatable03 mts'}) basic_table = div.find('table') tds = basic_table.find_all('td') sender_name = getattr(tds[0], 'string', '') address = getattr(tds[1], 'string', '') parcel = Parcel() parcel.sender = sender_name parcel.address = address self.parcel = parcel div2 = parser.find_all('div', {'class': 'myatable03 mtxxs'})[1] track_table = div2.find('table') rows = track_table.find_all('tr') for row in rows: tds = row.find_all('td') if len(tds) > 0: time = getattr(tds[0], 'string', '') status = getattr(tds[3], 'string', '') location = getattr(tds[1], 'string', '') phone = '%s %s' % (getattr(tds[4], 'string', ''), getattr(tds[2], 'string', '')) track = Track() track.time = time track.status = status track.location = location track.phone1 = phone self.add_track(track)