2019-04-05 21:06:35 +00:00
|
|
|
---
|
|
|
|
site: soundpark
|
|
|
|
name: SoundPark
|
|
|
|
description: "SoundPark Semi-Private RUSSIAN site dedicated to MUSIC."
|
2019-10-29 19:56:36 +00:00
|
|
|
language: ru-ru
|
2019-04-05 21:06:35 +00:00
|
|
|
type: semi-private
|
|
|
|
encoding: UTF-8
|
|
|
|
links:
|
2019-07-07 22:56:54 +00:00
|
|
|
- https://sound-park.world/
|
2019-04-05 21:06:35 +00:00
|
|
|
- https://soundpark-club.casa/
|
2019-07-07 22:53:19 +00:00
|
|
|
legacylinks:
|
|
|
|
- https://soundpark-club.com/
|
2019-04-05 21:06:35 +00:00
|
|
|
|
|
|
|
caps:
|
|
|
|
categories:
|
|
|
|
"Music": Audio
|
|
|
|
|
|
|
|
modes:
|
|
|
|
search: [q]
|
2019-04-11 19:06:45 +00:00
|
|
|
music-search: [q, album, artist, label, year]
|
2019-04-05 21:06:35 +00:00
|
|
|
|
|
|
|
login:
|
|
|
|
path: login
|
|
|
|
method: form
|
|
|
|
form: form[action="/login"]
|
|
|
|
inputs:
|
|
|
|
username: "{{ .Config.username }}"
|
|
|
|
password: "{{ .Config.password }}"
|
|
|
|
returnto: ""
|
|
|
|
error:
|
|
|
|
- selector: div.stdmsg_text
|
|
|
|
test:
|
|
|
|
path: /
|
|
|
|
selector: a[href="/logout"]
|
|
|
|
|
|
|
|
download:
|
|
|
|
selector: a[href^="/album/download-torrent/"]
|
|
|
|
|
|
|
|
search:
|
|
|
|
paths:
|
|
|
|
- path: "{{if .Keywords}}search{{else}}music{{end}}"
|
|
|
|
inputs:
|
2019-04-11 19:06:45 +00:00
|
|
|
q: "{{if .Query.Artist}}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
|
2019-04-05 21:06:35 +00:00
|
|
|
num: 50
|
|
|
|
|
|
|
|
rows:
|
|
|
|
# first selector is for the music page (recent uploads) and the second selector is for the search page
|
|
|
|
selector: div[itemscope] > table.browse_albums, div.div-rellist
|
|
|
|
fields:
|
|
|
|
title:
|
|
|
|
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
|
|
|
details:
|
|
|
|
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
|
|
|
attribute: href
|
|
|
|
category:
|
|
|
|
text: "Music"
|
|
|
|
banner:
|
|
|
|
selector: tr:nth-child(2) td:nth-child(1) a img, div i img
|
|
|
|
attribute: src
|
|
|
|
optional: true
|
|
|
|
download:
|
|
|
|
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
|
|
|
|
attribute: href
|
|
|
|
# dates come in two flavours:
|
|
|
|
# Russian, Spanish and English supported
|
|
|
|
date:
|
|
|
|
# fix for spanish yesterday, the time is not present
|
|
|
|
text: now
|
|
|
|
date:
|
|
|
|
# Today at 22:28:10
|
|
|
|
# Yesterday at 10:18:40
|
|
|
|
# Вчера в 10:18:40
|
|
|
|
# Hoy a las 07:33:17
|
|
|
|
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):contains(":"), div > span.edit:contains(":")
|
|
|
|
optional: true
|
|
|
|
filters:
|
|
|
|
- name: replace
|
|
|
|
args: [" at ", " "]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["Ayer a las|Вчера в", "Yesterday"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["Hoy a las|Сегодня в", "Today"]
|
|
|
|
date:
|
|
|
|
# 3 april 2019
|
|
|
|
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):not(:contains(":")), div > span.edit:not(:contains(":"))
|
|
|
|
optional: true
|
|
|
|
filters:
|
|
|
|
- name: re_replace
|
|
|
|
args: ["enero|января", "January"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["febrero|февраля", "February"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["marzo|марта ", "March"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["abril|апреля", "April"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["mayo|мая", "May"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["junio|июня", "June"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["julio|июля", "July"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["agosto|августа", "August"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["septiembre|сентября", "September"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["octubre|октября", "October"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["noviembre|ноября", "November"]
|
|
|
|
- name: re_replace
|
|
|
|
args: ["diciembre|декабря", "December"]
|
|
|
|
- name: dateparse
|
|
|
|
args: "2 January 2006"
|
|
|
|
size:
|
|
|
|
# search page does not have size.
|
|
|
|
text: "500 MB"
|
|
|
|
size:
|
|
|
|
# but today's page can, if the content fixed-length string contains a title that is not too long.
|
|
|
|
selector: tr:nth-child(2) td.descr meta
|
|
|
|
attribute: content
|
|
|
|
optional: true
|
|
|
|
filters:
|
|
|
|
- name: regexp
|
|
|
|
args: "Size: (.*?),"
|
|
|
|
seeders:
|
|
|
|
text: 1
|
|
|
|
leechers:
|
|
|
|
text: 1
|
|
|
|
downloadvolumefactor:
|
|
|
|
text: 1
|
|
|
|
uploadvolumefactor:
|
|
|
|
text: 1
|