Найти - Пользователи
Полная версия: Название треков в vk
Начало » Python для новичков » Название треков в vk
1
wmnpyafn
Хочу попробоватьк качать треки из вк. Столкнулся с тем, что название трека имеет вид e561er5mu5.mp3.
Как при скачивании получить нормальное название?
Singularity
Изпользовать API? Там можо получить информацию про трек
wiygn
Смотря как вы тащите аудиозаписи. Если парсите страницу с записями, то после
<input ... /c679058f15e6.mp3,260" />
есть враппер для названия
<div class="title_wrap fl_l" onmouseover="setTitle(this);"... Тут название песни</div>
wmnpyafn
Можете помочь вытащить ссылки на треки со страницы? Пытался с помощью lxml.cssselect вытащить, но не разобрался как.
Разбираю страницу https://m.vk.com/audio
wiygn
А в чем, собственно, проблема-то возникла?

Я для парсинга использую BeautifulSoup под python 3. Но никаких принципиальных различий как между lxml и bs, так и между большой и мобильной версией сайта нет.

Проходитесь циклом по тексту страницы. К примеру ищите такой блок кода:
<div class="ai_body">
<div class="ai_dur" data-dur="240" onclick="audioplayer.switchTimeFormat(this, event);">4:00</div>
<div class="ai_label">
<span class="ai_artist">Vass</span>
&ndash;
<span class="ai_title">Rowdy Arabia </span>
</div>
<input type="hidden" value="https://psv4.vk.me/c6294/u164891073/audios/b8798ae959cb.mp3">
</div>

Т.е. ищите родительский div.ai_body и из него уже доставайте все что необходимо. Прямая ссылка в инпуте, название и исполнитель в отдельных спанах с уникальными классами.
wmnpyafn
import lxml.html
page = open('1.html')
doc = lxml.html.document_fromstring(page.read())
for url in doc.cssselect('div.ai_body input'):
    print url.text
Пытаюсь сделать вот так, не находит ни чего. Точнее пишет None, None……
wiygn
Он и не должен ничего находить. Советую тщательно ознакомиться с этим. Питона нет под рукой, поэтому проверить lxml не могу, но по идее такое должно сработать:
for input in doc.cssselect('div.ai_body input'):
    print(input.value)
wmnpyafn
Спасибо) Работает)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB