Здравейте гостенино! Вход Регистриране


Оценете темата:
  • 0 гласа - средно 0
  • 1
  • 2
  • 3
  • 4
  • 5
Помощ за Python Easy Html Parser - Elementum burst
#1
Здравейте,

опитвам се да добавя Parser за популярните БГ торент тракери към Elementum. Стигнал съм до тук за zelka.org:


Код:
"zelka": {
   "anime_extra": "",
   "anime_keywords": "{title} {episode}",
   "anime_query": "QUERY&cat=25&incldead=0",
   "base_url": "http://zelka.org/browse.php?search=",
   "root_url": "http://zelka.org",
   "color": "FF076700",
   "general_extra": "",
   "general_keywords": "{title}",
   "general_query": "QUERY&cat=0&incldead=0",
   "language": null,
   "login_failed": "Login failed!",
   "login_object": "{'username': USERNAME, 'password': PASSWORD}",
   "login_path": "/takelogin.php",
   "movie_extra": "",
   "movie_keywords": "{title} {year}",
   "movie_query": "QUERY&cat=19&incldead=0",
   "name": "Zelka",
   "parser": {
       "infohash": "",
       "name": "item(tag='a', order=2)",
       "peers": "item(tag='td', order=-1)",
       "row": "find_once('table', ('class', 'test')).find_all('tr', start=2)",
       "seeds": "item(tag='td', order=-2)",
       "size": "item(tag='td', order=-4)",
       "torrent": "'http://zelka.org/%s' % item.take_with_root('src', 'http://img.zamunda.se/pic/download.gif')"
   },
   "private": true,
   "season_extra": "",
   "season_extra2": "",
   "season_keywords": "{title} Season_{season}",
   "season_keywords2": "{title} Season{season}",
   "season_query": "QUERY&cat=7&incldead=0",
   "separator": "+",
   "show_query": "QUERY&cat=7&incldead=0",
   "subpage": false,
   "tv_extra": "",
   "tv_extra2": "",
   "tv_keywords": "{title} s{season:2}e{episode:2}",
   "tv_keywords2": ""
},


за прегледност съм сложил един html файл със пробно търсене в зелка за 'batman'
https://pastebin.com/66dqfUEU
и коди лог
https://openload.co/f/8vPCuQu2uJI/kodi.log

Parser логването работи без проблем обаче трудното е да хванеш торент-линка от зелка, тъй като той често се намира в различни колони от таблицата, заради различно добавени детайли към всеки торент. Elementum.burst изполва ehp.py и аз намерих подходяща функция от там за да локализирам торент линка (той е винаги в тага с картинка за сваляне). Пoнеже не съм Python програмист не ми е точно ясно какъв трябва да е правилния синтаксис и за съжаление никъде няма подробно обяснение. Ще съм благодарен яко някой може да помогне.
 
Отговор
#2
/Не ползвам Elementum и не знам какво има в ehp.py, но сайтове, които нямат API (на което да са базирани) обикновено се претърсват с регулярни изрази (regular expression)/

За торент файла търси таг <a href="........."> завършващ с .torrent в линка му: <a href="(.+?.torrent)">
Ако претърсваш за магнитен линк, съответно регулярният израз ще бъде <a href="(magnet:.+?)"> , където линка в тага започва с думичката magnet. Ако хванеш няколко резултата, а искаш само първият от тях, можеш да филтрираш резултатите в списъка с именасписъка[0] - това ще ти върне само първият елемент, именасписъка[1] вторият подред и т.н. Ако пък искаш последният, използвай именасписъка[:-1].
[-] 2 потребители харесват поста на Majide:
  • Topper, ZZlatev
 
Отговор
  


Теми, които вероятно са свързани...
Тема: Автор Отговори: Прегледи: Последна публикация
  Помощ за плъгин Мисия моят дом ByJohnie 6 1,202 01-12-2017, 23:21
Последна публикация: ByJohnie
  Разархивиране на RAR архиви в python Majide 7 3,302 20-06-2017, 20:50
Последна публикация: Majide

Отваряне на:


Browsing: 1 гост(и)