我有几乎都是使用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]
尝试捕获开始数据和时间,以及结束数据和时间。由于某种原因它会覆盖先前的值。