Last active
September 1, 2021 17:51
-
-
Save zbyna/03c24ae800ff740a25a3 to your computer and use it in GitHub Desktop.
Internet tools - scarping thetvdb.com pomocí šablony
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
procedure TForm1.Button2Click(Sender: TObject); | |
var v: IXQValue; | |
i: Integer; | |
url,str: String; | |
pomString: String; | |
pomString2: String = ' '; | |
pomString3: String; | |
pomStr:String; | |
vPom: IXQValue; | |
p: IXQValue; | |
p3: IXQValue; | |
pomQuery: String; | |
pomVariableChangeLog: TXQVariableChangeLog; | |
begin | |
str:= '<html>'+' <?xml version="1.0" encoding="UTF-8" ?>'+ slineBreak + | |
'<Data>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>78901</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>Supernatural</SeriesName>' + slineBreak + | |
'<banner>graphical/78901-g4.jpg</banner>' + slineBreak + | |
'<Overview>Dean and Sam Winchester are two brothers with a special talent. Well-versed...</Overview>' + slineBreak + | |
'<FirstAired>2005-09-13</FirstAired>' + slineBreak + | |
'<IMDB_ID>tt0460681</IMDB_ID>' + slineBreak + | |
'<zap2it_id>EP00754231</zap2it_id>' + slineBreak + | |
'<id>78901</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>79426</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>Supernatural Science</SeriesName>' + slineBreak + | |
'<banner>graphical/z79426-g.jpg</banner>' + slineBreak + | |
'<Overview>Even hardheaded skeptics have to concede that there’s something inherently...</Overview>' + slineBreak + | |
'<FirstAired>2006-11-09</FirstAired>' + slineBreak + | |
'<zap2it_id>EP00359360</zap2it_id>' + slineBreak + | |
'<id>79426</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>154401</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>5th Dimension - Secrets of the Supernatural</SeriesName>' + slineBreak + | |
'<banner>graphical/154401-g.jpg</banner>' + slineBreak + | |
'<Overview>Does life end in death? Or does the soul wander from body to body? Are there...</Overview>' + slineBreak + | |
'<id>154401</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>197001</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>Supernatural the Animation</SeriesName>' + slineBreak + | |
'<banner>graphical/197001-g2.jpg</banner>' + slineBreak + | |
'<Overview>Supernatural the Animation will not only remake the best episodes from the ...</Overview>' + slineBreak + | |
'<FirstAired>2011-02-23</FirstAired>' + slineBreak + | |
'<IMDB_ID>tt1679482</IMDB_ID>' + slineBreak + | |
'<id>197001</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>79432</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>Supernatural The Unseen Powers of Animals</SeriesName>' + slineBreak + | |
'<banner>graphical/z79432-g.jpg</banner>' + slineBreak + | |
'<Overview>When science fiction becomes science fact. This groundbreaking series unravels...</Overview>' + slineBreak + | |
'<FirstAired>1999-03-30</FirstAired>' + slineBreak + | |
'<id>79432</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<seriesid>74143</seriesid>' + slineBreak + | |
'<language>en</language>' + slineBreak + | |
'<SeriesName>The Supernatural (1977)</SeriesName>' + slineBreak + | |
'<FirstAired>1977-06-01</FirstAired>' + slineBreak + | |
'<IMDB_ID>tt0396375</IMDB_ID>' + slineBreak + | |
'<id>74143</id>' + slineBreak + | |
'</Series>' + slineBreak + | |
'</Data>'+'</html>'; | |
Memo2.Text:=str; | |
Memo1.Lines.Clear; | |
pomQuery:='<Data>' + slineBreak + | |
'<template:loop>' + slineBreak + | |
'<Series>' + slineBreak + | |
'<SeriesName>{nazev:=text()}</SeriesName>' + slineBreak + | |
'<FirstAired>{vysilano:=text()}</FirstAired>' + slineBreak + | |
'</Series>' + slineBreak + | |
'</template:loop>' + slineBreak + | |
'</Data>'; | |
i:=0; | |
for v in process(str,pomQuery) do | |
begin | |
p:= v.getProperty('nazev'); // je to pvkObject | |
p3:=v.getProperty('vysilano'); | |
// enumerátor rozpozná jednu položku a to object, pak se ukončí ... asi chyba, těžko říct | |
pomString:=p.toArray[3].toString; | |
pomString3:=p3.toArray[3].toString; | |
// pro přístup k datům je nutný další for cyklus | |
Memo1.Append((inttostr(i))+' '+(pomString) + ' :-) '+ pomString3); | |
i:=i+1; | |
end; | |
end; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment