function DecodePJItem(sText: string): TList<TDataItem>;var ?reg: TRegEx; ?mc: TMatchCollection; ?item: TMatch; ?dataItem: TDataItem;begin ?Result := TList<TDataItem>.Create; ?sText := reg.Replace(sText, ‘\n‘, ‘‘); ?sText := reg.Replace(sText, ‘<tr style="">.*?</tr>‘, ‘‘); ???// ?sText := reg.Replace(sText, ‘<td width=".*?">‘, ‘‘); ?sText := reg.Replace(sText, ‘<span class.*?">‘, ‘‘); ?sText := reg.Replace(sText, ‘<td class=.*?>‘, ‘‘); ?sText := reg.Replace(sText, ‘<p class.*?>‘, ‘‘); ?sText := reg.Replace(sText, ‘<input .*?>‘, ‘‘); ?sText := reg.Replace(sText, ‘<a.*?>‘, ‘‘); ?sText := reg.Replace(sText, ‘</a>‘, ‘‘); ?sText := reg.Replace(sText, ‘</span>‘, ‘‘); ?sText := reg.Replace(sText, ‘</tr>‘, ‘|‘); ?sText := reg.Replace(sText, ‘<tr>‘, ‘‘); ?sText := reg.Replace(sText, ‘</p>‘, ‘‘); ?sText := reg.Replace(sText, ‘</td>‘, ‘,‘); ?sText := reg.Replace(sText, ‘<span.*?>‘, ‘‘); ?reg := TRegEx.Create(‘(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),(.*?),\|‘); ?mc := reg.Matches(sText); ?for item in mc do ?begin ???if item.Groups.Count = 9 then ???begin ?????try ???????if item.Groups[8].Value <> ‘我要买‘ then Continue; ???????dataItem := TDataItem.Create; ???????dataItem.PublishTime := item.Groups[1].Value; ???????dataItem.Company := item.Groups[2].Value; ???????dataItem.Money := StrToFloatDef(item.Groups[3].Value, 0); ???????dataItem.OutTime := item.Groups[4].Value; ???????dataItem.Deduction := StrToIntDef(item.Groups[5].Value, 0); ???????dataItem.Defect := item.Groups[6].Value; ???????dataItem.TimeLength := item.Groups[7].Value; ???????dataItem.Text := item.Groups[8].Value; ???????dataItem.LeftDay := GetLeftValue(dataItem.OutTime); ???????if dataItem.LeftDay <= 0 then ???????begin ?????????SendLog(TDataCollector.MainHandle, ???????????Format(‘%s, %s, 数据异常,跳过!!!‘,[dataItem.PublishTime, dataItem.Company])); ?????????dataItem.Free; ?????????Continue; ???????end; ???????dataItem.YearRate := dataItem.Deduction / 1000 * 360 / DataItem.LeftDay; ???????dataItem.New := True; ?????except ???????Continue; ?????end; ?????Result.Add(dataItem); ???end; ?end;end;
update20181214 - uGetHttpData.pas
原文地址:https://www.cnblogs.com/onlyou13/p/10119590.html