PerlRegEx = Yes;
Output.Clear;
States = 'IN,KY';
st = New(Stack);
st.Split(States, ',');
st.Reverse;
df = New(File);
df.Open(ScriptPath+'hudhomestore.txt');
df.Truncate;
rx = New(RegEx);
sk = New(Stack);
Link = New(URL);
unless st.Empty do begin
CurState = st.Pop;
PageURL = 'https://www.hudhomestore.com/Listing/PropertySearchResult.aspx?zipCode=&city=&county=&street=&sState='+CurState+'&fromPrice=0&toPrice=0&fcaseNumber=&bed=0&bath=0&buyerType=0&Status=0&sLanguage=ENGLISH&sPageSize=10000';
//while PageURL <> Nothing do begin
Link.Get(PageURL);
PageURL = Link.FixUp(WildGet(Link.Data, "href='([^']+)'[^>]*>next"));
rx.Data = Link.Data;
//Output(Link.Data); Terminate;
rx.Mask = 'var\s+strLink\s*=\s*"([^"]+)"\s*\+\s*[^+]+\+\s*"([^"]+)"';
rx.Match;
SubmitURLPrefix = rx.Value[1];
SubmitURLSufix = rx.Value[2];
rx.Mask = "'([^']+)';"">\s*[^<]+\s*";
//rx.Mask = "'([^']+)';"">\s*([^<]+)\s*.*?lblAddress""[^<]+
[^,]+,\s*([a-z]{2}),\s*(\d{5})";
rx.Reset;
sk.Clear;
while rx.Match do
sk.Push(rx.Value[1]);
sk.Reverse;
unless sk.Empty do begin
Link.Get(sk.Pop);
//Output(Link.Data); Terminate;
CaseNumber = Trim(WildGet(Link.Data, 'case\s*number:\s*<[^>]+>([^<]+)<'));
CompanyName = Trim(WildGet(Link.Data, 'CompanyName">([^<]+)'));
ContactName = Trim(WildGet(Link.Data, 'ContactName">([^<]+)'));
PhoneNumber = Trim(WildGet(Link.Data, 'PhoneNumber">([^<]+)'));
FaxNumber = Trim(WildGet(Link.Data, 'FaxNumber">([^<]+)'));
Street = Trim(WildGet(Link.Data, 'ManagerAddress">([^<]+)'));
City = Trim(WildGet(Link.Data, 'ManagerAddress">[^<]+<[^>]+>(.*?)\s+[a-z]{2}\s'));
State = Trim(WildGet(Link.Data, 'ManagerAddress">[^<]+<[^>]+>.*?\s+([a-z]{2})\s'));
Zip = Trim(WildGet(Link.Data, 'ManagerAddress">[^<]+<[^>]+>.*?\s+[a-z]{2}\s(\d{5})'));
email = Trim(WildGet(Link.Data, 'Manageremail"\s+href="mailto:([^"]+)'));
DataLine = CaseNumber+TAB+CurState+TAB+CompanyName+TAB+ContactName+TAB+Street+TAB+City+TAB+State+TAB+Zip+TAB+PhoneNumber+TAB+FaxNumber+TAB+email;
df.Write(DataLine+CRLF);
Output(DataLine);
end;
//end;
end;
df.Close;