将HTML标签解析成字典

时间:2018-11-16 18:47:40

标签: python html list parsing

我有几乎都是使用BeautifulSoup解析的html数据,但是由于它们彼此相邻,如何获取开始时间和结束时间遇到了问题。

以下是数据:

[u'Start', u'End', u'2018-11-14 05:00 GMT (Greenwich Mean Time)', u'2018-11-14 11:00 GMT (Greenwich Mean Time)', u'2018-11-14 00:00 EST (Eastern Standard Time)', u'2018-11-14 06:00 EST (Eastern Standard Time)', u'Customer Name', u'Circuit ID', u'Alt Circuit ID', u'Bandwidth', u'A Location', u'Z Location', u'Impact Type', u'Maximum Duration', u'Order Number', u'Status', u'COMPANY, LLC', u'BDKN1111', u'N/A', u'10GIG-E LAN', u'CT USA', u'KINGS MOUNTAIN', u'Outage', u'1 hour ', u'\xa0', u'Alternate Night', u'COMPANY, LLC', u'BDKN1112', u'N/A', u'10GIG-E LAN', u'BRISTOL', u'KINGS MOUNTAIN', u'Outage', u'1 hour ', u'\xa0', u'Alternate Night', u'COMPANY, LLC', u'BDKF1011', u'N/A', u'10GIG-E LAN', u'BRISTOL', u'OMAHA ', u'Outage', u'1 hour ', u'\xa0', u'Alternate Night']

这里是代码:数据在列表上方。

    for i in data:
        pattern = re.compile(r'([1-9]{4}|[0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}:[0-9]{2} GMT)')
        if re.search(pattern, i):
           match = re.search(pattern, i)
           match = match.group().split()
           output["startdate"] = match[0]
           if match[1] not in output["endtime"]:
             output["endtime"] = match[1:-1]

尝试捕获开始数据和时间,以及结束数据和时间。由于某种原因它会覆盖先前的值。

0 个答案:

没有答案