Парсинг Vk.Audio в наши дни - C#

Узнай цену своей работы

Формулировка задачи:

Недавно в ВК закрыли публичный доступ к API аудизаписей. Ссылок на файл в HTML коде самой страницы ВК я тоже не нашел. Подскажите пожалуйста, как можно получить прямые ссылки на файлы музыки.

Решение задачи: «Парсинг Vk.Audio в наши дни»

textual
Листинг программы
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Awesomium.Core;
 
namespace AwesomiumProgect1
{
  
    public partial class Form1 : Form
    {                                     
        public Form1()
        {                                 
            WebCore.Initialized += WebCore_Initialized;
            InitializeComponent();            
        }
        private void WebCore_Initialized(object sender, CoreStartEventArgs e)
        {
            Awesomium.Core.WebCore.ResourceInterceptor  = new ManagerRequest();           
        }           
    }
    public class ManagerRequest : IResourceInterceptor
    {
        public Form1 form1 { get; set; }
        
        public bool OnFilterNavigation(NavigationRequest request)
        {
            return false;
        }
 
        public ResourceResponse OnRequest(ResourceRequest request)
        {
            var url = request.Url.AbsoluteUri;
            if (url.Contains(".mp3"))
            {
                int indexMP3 = url.IndexOf(".mp3");
                url = url.Substring(0,indexMP3 + 4);
                WriteFile a = new WriteFile(url);                                      
        }
        return null;
    }
    }
 
    public  class WriteFile
    {
        private string url;
        private string path;
        public WriteFile(string url)
        {
            this.url = url;
            path = SaveFileDialog();            
            SaveFileStreem(new Uri(this.url),path );
        }
 
        private string SaveFileDialog()
        {
            
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
 
            saveFileDialog1.Filter = "mp3 files (*.mp3)|*.mp3|All files (*.*)|*.*";
            saveFileDialog1.FilterIndex = 0;
            saveFileDialog1.DefaultExt = "mp3";
            saveFileDialog1.RestoreDirectory = true;
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                return saveFileDialog1.FileNames[0];
            }
            return string.Empty;
        }
 
        private void SaveFileStreem(Uri URL, string path)
        {
            if (URL != null & path != string.Empty)
            {
                WebClient webClient=new WebClient();
                webClient.DownloadFileAsync(URL, path);
            }
        }
    }   
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5