Автор Тема: world-art.ru (фильмы)  (Прочитано 217285 раз)

0 Пользователей и 7 Гостей просматривают эту тему.

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #45 : 11 Июня 2008, 20:17:13 »
Я даже самый первый скрипт приспособил: он тащит рецензию в пользовательское поле!

Чё-то я не понял как ты догадался как это сделать без мануала?? Круто :)
Рад, что всё работает (ну почти всё) и всё нравится :) В скором времени подправлю так чтобы и постеры и инфа работала одновременно и напишу инструкцию по написанию скриптов и можно будет заняться крупными изменениями т.е. 0.9.9!
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #46 : 11 Июня 2008, 20:23:41 »
Спасибо!
Буду ждать, особенно мануал!!!
Вот сейчас пытаюсь переделать продюсера в автора оригинала (просто лично мне это более интереснно, тем более у аниме продюсеров не часто указывают. Насколько я понял они не сильно там важны).

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #47 : 11 Июня 2008, 20:29:11 »
Только не совсем получается:
Заменяю <b>Автор оригинала:</b> вместо <b>Продюсер:</b>, не работает!
Насколько понял это тег для поиска. А что там еще за поиск отвечает?
Цитировать
//Producers
 curPos := PosFrom('<b>Продюсер:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   AddMoviePerson(Name, TransName, '', URL, ctProducers);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;
end;
Вот это насколько понял как раз и есть импорт информации о продюссере. Или где-то еще изменить надо?

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #48 : 11 Июня 2008, 21:10:19 »
Тут ещё важно расположение. Автор оригинала с самого верху, соответственно этот код должен быть вначале процедуры...
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #49 : 11 Июня 2008, 22:37:54 »
Ладно подожду мануала!

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #50 : 11 Июня 2008, 22:43:15 »
Ладно подожду мануала!

Та ну, это же тривиально:
procedure ParseCredits(HTML : WideString);
var
 curPos, EndPos : Integer;
 TransName, Name, Role, URL : WideString;
begin
 EndPos := 1;
 
 //Original Author
 curPos := PosFrom('<b>Автор оригинала:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   AddMoviePerson(Name, TransName, '', URL, ctProducers);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;
 
 //Directors
 curPos := PosFrom('<b>Режиссер:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   AddMoviePerson(Name, TransName, '', URL, ctDirectors);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;
 
 //Writers
 curPos := PosFrom('<b>Сценарий:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   AddMoviePerson(Name, TransName, '', URL, ctWriters);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;

 //Actors
 curPos := PosFrom('<b>Роли озвучивали:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   curPos := PosFrom('—&nbsp;', HTML, EndPos);
   if curPos < PosFrom('</tr>', HTML, EndPos) then begin
    curPos := curPos + Length('—&nbsp;');
    EndPos := PosFrom('</td>', HTML, curPos);

Role := Trim(Copy(HTML, curPos, EndPos - curPos));
   end else
    Role := '';
   
   AddMoviePerson(Name, TransName, Role, URL, ctActors);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;
 
 //Composers
 curPos := PosFrom('<b>Композитор:</b>', HTML, EndPos);
 if curPos > 0 then begin
  EndPos := curPos;
  curPos := PosFrom('../people.php?id=', HTML, curPos);
  while (curPos > 0) AND (curPos < PosFrom('</table>', HTML, EndPos)) do begin
   curPos := curPos + Length('../people.php?id=');
   EndPos := PosFrom('"', HTML, curPos);
   
   URL := BASE_URL + '/people.php?id=' + Copy(HTML, curPos, EndPos - curPos);
   
   curPos := PosFrom('>', HTML, curPos) + 1;
   EndPos := PosFrom('</a>', HTML, curPos);
   
   TransName := Copy(HTML, curPos, EndPos - curPos);
 
   curPos := PosFrom('/ <font size=2>', HTML, EndPos) + Length('/ <font size=2>');
   EndPos := PosFrom('</font>', HTML, curPos);
   
   Name := Trim(Copy(HTML, curPos, EndPos - curPos));
   
   AddMoviePerson(Name, TransName, '', URL, ctComposers);

   curPos := PosFrom('../people.php?id=', HTML, curPos);
  end;
 end;
end;
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #51 : 11 Июня 2008, 22:58:30 »
Спасибо, все заработало!!!  :D :D :D

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #52 : 11 Июня 2008, 23:00:07 »
Логично ;)
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #53 : 12 Июня 2008, 00:01:18 »
Столкнулся с такой проблемой:
Не делает разбивку сериала на эпизоды у такого аниме "Высь [ТВ]"
Насколько понял проблема в том что там идет еще разбивка на арки:
Цитировать
Эпизоды:   
Dream arc
01. Kaze -breeze-
02. Machi -town-
03. Koe -whisper-
04. Hane -plume-
05. Tsubasa -wing-
06. Hoshi -star-
Summer arc
07. Yume -dream-
08. Natsu -summer-
09. Tsuki -moon-
AIR arc
10. Hikari -light-
11. Umi -sea-
12. Sora -air-
13. Коллаж из сцен предыдущих серий
В оригинальном тексте:
Цитировать
</p><br></td><td Valign=top width=5></td></tr></table><br><br><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b><font size=2 color=#990000>Эпизоды:</font></b></td><td width=2></td></tr></table><table width=100% cellspacing=0 cellpadding=0 border=0 ><tr><td width=100% height=1 background='img/pixel.gif'></td></tr></table><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b>Dream arc</b><br>01. Kaze -breeze-<br>02. Machi -town-<br>03. Koe -whisper-<br>04. Hane -plume-<br>05. Tsubasa -wing-<br>06. Hoshi -star-<br><b>Summer arc</b><br>07. Yume -dream-<br>08. Natsu -summer-<br>09. Tsuki -moon-<br><b>AIR arc</b><br>10. Hikari -light-<br>11. Umi -sea-<br>12. Sora -air-<br>13. Коллаж из сцен предыдущих серий</td><td width=2></td></tr></table><br><br><center><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b><font size=2 color=#99000>
Адресс аниме:
http://www.world-art.ru/animation/animation.php?id=3017
Или из-за этих арок не получиться сделать? Если сложно, то у одного, двух можно и в ручную сделать!  ;)

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #54 : 12 Июня 2008, 00:13:25 »
Будет работать если убрать проверку: AND (EndPos < PosFrom('<b>', HTML, curPos))
но тогда могут быть проблемы с другими фильмами, да и "арки" эти запихает в названия эпизодов :( - поэкспериментируй если хочешь. Может ты найдёшь более уникальный тег для определения начала и конца эпизодов?
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #55 : 12 Июня 2008, 00:15:26 »
Хорошо попробую!

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #56 : 12 Июня 2008, 00:23:09 »
Да без этой строки получилось. Просто потом удаляешь название арок из разбивки эпизодов и все ОК.
Спасибо за совет.

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #57 : 12 Июня 2008, 00:25:48 »
Помоглу еще в паре замеченых случаев.

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Проблемы и предложения импорта с world-art.
« Ответ #58 : 12 Июня 2008, 00:39:19 »
Отлично
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн Tsume

  • Гуру
  • ****
  • Сообщений: 778
  • Я просто иду в Рай
Re: Проблемы и предложения импорта с world-art.
« Ответ #59 : 12 Июня 2008, 00:45:36 »
Единственное аниме где не помогло:
Призрак в доспехах: Синдром одиночки [ТВ]
http://www.world-art.ru/animation/animation.php?id=39
Но там тяжелый случай:
Цитировать
Эпизоды:

Первый сезон Koukaku Kidoutai STAND ALONE COMPLEX (01.10.2002-01.10.2003)
01. Public Peace; SECTION 9
02. Proof of Recklessness; TESTATION
03. A Small Rebellion; ANDROID AND I
04. The Visual Device Laughs; INTERCEPTOR
05. The Inviting Bird Will Chant; DECOY
06. The Copycat Dances; MEME
07. Idolatry; IDOLATOR
08. The Fortunate Ones; MISSING HEARTS
09. The Man That Lurks in the Darkness of the Net; CHAT! CHAT! CHAT!
10. A Perfect Day for a Jungle Cruise; JUNGLE CRUISE
11. Inside the Forest of the Sub-Images; PORTRAITZ
12. Tachikoma Runaway; ESCAPE FROM
13. Unequal Terrorist; NOT EQUAL
14. Automated Capitalism; YES
15. Time of the Machines; MACHINES DESIRANTES
16. Chinks in the Armor of the Heart; Ag20
17. The True Reason For the Unfinished Love Affair; ANGELS' SHARE
18. Assassinations Duet; LOST HERITAGE
19. Being Held in the Camouflage Net; CAPTIVATED
20. The Medicine Which is Turned Off; RE-VIEW
21. Locus of Desertion; ERASER
22. Bribery Case; SCANDAL
23. Equinotical Week of Good and Evil; EQUINOX
24. Orphan Castle Setting Sun; ANNIHILATION
25. Smoke Projectile Rain; BARRAGE
26. Public Peace Section 9, Again; STAND ALONE COMPLEX
Спэшл:
Special - A Prior Notice

Второй сезон Koukaku Kidoutai S.A.C. 2nd GIG (01.01.2004-01.01.2005)
27. Reembody / Reactivation
28. Night Cruise / The Satiated Me
29. Cash Eye / Saturday Night and Sunday Morning
30. Natural Enemy / Natural Enemy
31. Inductance / Those that have the motive
32. Excavation / Latent heat source
33. Pu239 / Rambling thoughts are a study on ruined nations
34. Fake Food / Vegetarian Feast
35. Ambivalence / The Hope Named Despair
36. Trial / The Man Who Goes Insane
37. Affection / Grass Labyrinth
38. Selecon / To Those Without Even A Name
39. Make Up / Face
40. Poker Face / Beware the Left Eye
41. PAT. / Afternoon of the Machines
42. Another Chance / The Fact of Being There
43. Red Data / Repaired Mother-Child Relationship
44. Trans Parent / Angel`s Poem
45. Chain Reaction
46. Fabricate Fog
47. Embarrassment
48. Reversal Process
49. Martial Law
50. Nuclear Power
51. This Side Of Justice
52. Endless∞GIG
Спэшл:
BIOS
Оригинал:
Цитировать
</a><br><br><br><br><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b><font size=2 color=#990000>Эпизоды:</font></b></td><td width=2></td></tr></table><table width=100% cellspacing=0 cellpadding=0 border=0 ><tr><td width=100% height=1 background='img/pixel.gif'></td></tr></table><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b>Первый сезон Koukaku Kidoutai STAND ALONE COMPLEX (01.10.2002-01.10.2003)</b><br>01. Public Peace; SECTION 9<br>02. Proof of Recklessness; TESTATION<br>03. A Small Rebellion; ANDROID AND I<br>04. The Visual Device Laughs; INTERCEPTOR<br>05. The Inviting Bird Will Chant; DECOY<br>06. The Copycat Dances; MEME<br>07. Idolatry; IDOLATOR<br>08. The Fortunate Ones; MISSING HEARTS<br>09. The Man That Lurks in the Darkness of the Net; CHAT! CHAT! CHAT!<br>10. A Perfect Day for a Jungle Cruise; JUNGLE CRUISE<br>11. Inside the Forest of the Sub-Images; PORTRAITZ<br>12. Tachikoma Runaway; ESCAPE FROM<br>13. Unequal Terrorist; NOT EQUAL<br>14. Automated Capitalism; YES<br>15. Time of the Machines; MACHINES DESIRANTES<br>16. Chinks in the Armor of the Heart; Ag20<br>17. The True Reason For the Unfinished Love Affair; ANGELS' SHARE<br>18. Assassinations Duet; LOST HERITAGE<br>19. Being Held in the Camouflage Net; CAPTIVATED<br>20. The Medicine Which is Turned Off; RE-VIEW<br>21. Locus of Desertion; ERASER<br>22. Bribery Case; SCANDAL<br>23. Equinotical Week of Good and Evil; EQUINOX<br>24. Orphan Castle Setting Sun; ANNIHILATION<br>25. Smoke Projectile Rain; BARRAGE<br>26. Public Peace Section 9, Again; STAND ALONE COMPLEX<br><b>Спэшл:</b><br>Special - A Prior Notice<br><br><b>Второй сезон Koukaku Kidoutai S.A.C. 2nd GIG (01.01.2004-01.01.2005)</b><br>27. Reembody / Reactivation<br>28. Night Cruise / The Satiated Me<br>29. Cash Eye / Saturday Night and Sunday Morning<br>30. Natural Enemy / Natural Enemy<br>31. Inductance / Those that have the motive<br>32. Excavation / Latent heat source<br>33. Pu239 / Rambling thoughts are a study on ruined nations<br>34. Fake Food / Vegetarian Feast<br>35. Ambivalence / The Hope Named Despair<br>36. Trial / The Man Who Goes Insane<br>37. Affection / Grass Labyrinth<br>38. Selecon / To Those Without Even A Name<br>39. Make Up / Face<br>40. Poker Face / Beware the Left Eye<br>41. PAT. / Afternoon of the Machines<br>42. Another Chance / The Fact of Being There<br>43. Red Data / Repaired Mother-Child Relationship<br>44. Trans Parent / Angel`s Poem<br>45. Chain Reaction<br>46. Fabricate Fog<br>47. Embarrassment<br>48. Reversal Process<br>49. Martial Law<br>50. Nuclear Power<br>51. This Side Of Justice<br>52. Endless&#8734;GIG<br><b>Спэшл:</b><br>BIOS</td><td width=2></td></tr></table><br><br><center><table width=100% cellspacing=0 cellpadding=2 border=0><tr><td><b><font size=2 color=#99000>
Он берет только первый сезон! Но да ладно можно в одном месте 26 серий руками забить!!!  :)