javienigma wrote:
¿Cómo? Esto si me gustaría añadirlo al script.
No obstante, estaré pendiente por si sale una versión actualizada con todas las mejoras.
Por lo que me pareció entender a morfius cuando planteé el tema, es posible que el apartado de Críticas no se incluya en la versión final...
Si así fuese, tendrás que modificarlo tú mismo a mano, pero no es demasiado difícil
Sobre la versión 2.50 que está en este post, lo más sencillo es añadir las críticas en la sección de Comentarios.
Para ello, sólo tienes que pegar este trozo de código:
(lo puedes poner, por ejemplo, antes de // Category)
Code: Select all
// Critic
LineNr := FindLine('<th>CRÍTICAS</th>', Page, LineNr);
if LineNr <> -1 then
begin
Comments := Comments + 'Críticas: ' + #13#10;
LineNr := LineNr + 3;
Item := Page.GetString(LineNr);
while Pos ('</tr>', Item) = 0 do
begin
while Pos('<br>', Item) <> 0 do
Item := StringReplace(Item, '<br>', #13#10);
while Pos('</br>', Item) <> 0 do
Item := StringReplace(Item, '</br>', #13#10);
while Pos(' ', Item) <> 0 do
Item := StringReplace(Item, ' ', ' ');
Comments := Comments + DeleteTags(Item);
LineNr := LineNr + 1;
Item := Page.GetString(LineNr);
end;
end;
Con eso debería ser suficiente para que aparezcan las Críticas en la zona de Comentarios.
Sin embargo, yo prefiero tener las críticas bajo la Sinopsis, en el campo de Descripción... (como estaba en las primeras versiones).
Para hacer eso, el procedimiento es un poco más complejo.
-
Primero: añadir una nueva variable para el campo de Descripción.
Busca:
Code: Select all
procedure AnalyzeMoviePage(Address: string);
var
Añade bajo esas líneas:
-
Segundo: Modifica la captura de la Sinopsis, para que se añada a esa nueva variable:
Code: Select all
// Synopsis
LineNr := FindLine('<th>SINOPSIS</th>', Page, LineNr);
if LineNr <> -1 then
begin
Line := Page.GetString(LineNr + 1);
Item := TextBetween(Line, '<td>', '</td>');
Description := Description + Trim(Item) + #13#10 + #13#10 + #13#10;
end;
-
Tercero: captura las Críticas y las metes en la misma variable, pegando esto después del código anterior:
Code: Select all
// Critic
LineNr := FindLine('<th>CRÍTICAS</th>', Page, LineNr);
if LineNr <> -1 then
begin
Description := Description + 'Críticas: ' + #13#10;
LineNr := LineNr + 3;
Item := Page.GetString(LineNr);
while Pos ('</tr>', Item) = 0 do
begin
while Pos('<br>', Item) <> 0 do
Item := StringReplace(Item, '<br>', #13#10);
while Pos('</br>', Item) <> 0 do
Item := StringReplace(Item, '</br>', #13#10);
while Pos(' ', Item) <> 0 do
Item := StringReplace(Item, ' ', ' ');
Description := Description + DeleteTags(Item);
LineNr := LineNr + 1;
Item := Page.GetString(LineNr);
end;
end;
-
Cuarto: Define el campo de Descripción, para que aparezcan la Sinopsis y las Críticas.
Busca:
Code: Select all
HTMLDecode(Comments);
SetField(fieldComments, Comments);
Pega justo debajo (y encima de "end;"):
Code: Select all
HTMLDecode(Description);
SetField(fieldDescription, Description);
Y con eso tienes las Críticas en el apartado de Descripción