رفتن به مطلب

گرفتن لینک دانلود از rss (درخواستی)


امیرنیوکی

ارسال‌های توصیه شده

سلام

یکی از دوستای خوبمون در گرفتن لینک دانلود از RSS سایت http://kurdseda.ir/rss.xml

مشکل داشت نحوه ی دانلود به این صورته که در این RSS به شما تیتر آهنگ ها رو میده و با کلیک روی اون میره یه صفحه ی دیگه و اونجا لینک دانلود اصلی قرار داره

من اومدم از طریق سورس صفحه RSS کلیه تیترها و لینک های صفحه دانلود تیترها رو گرفتم و در لیست ویو نمایش دادم و با کلیک بروی هر

آیتم به صفحه دانلود میره و دوباره سورس صفحه رو میگیره و لینک دانلود اصلی رو میگیره

تو این سورس که پیوست میکنم میتونیم یاد بگیریم که از متونی ک مشابه هست کلیه اطلاعاتشو بگیریم مثلا تو سورس صفحه سایت

        <Link>link1</Link>
       <Link>link2</Link>
       <Link>link3</Link>
       <Link>link4</Link>
       <Link>link5</Link>
       <Link>link6</Link>
       .
       .
       .
       .

اینجوری هست ما نمیدونیم چندتا لینک هست با یه روش میتونیم همه لینک ها رو بگیریم ک در سورس پیوست شده استفاده شده است

رمز فایل : basic4android.org

GetDownloadLink.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

یکی از دوستای خوبمون در گرفتن لینک دانلود از RSS سایت http://kurdseda.ir/rss.xml

مشکل داشت نحوه ی دانلود به این صورته که در این RSS به شما تیتر آهنگ ها رو میده و با کلیک روی اون میره یه صفحه ی دیگه و اونجا لینک دانلود اصلی قرار داره

من اومدم از طریق سورس صفحه RSS کلیه تیترها و لینک های صفحه دانلود تیترها رو گرفتم و در لیست ویو نمایش دادم و با کلیک بروی هر

آیتم به صفحه دانلود میره و دوباره سورس صفحه رو میگیره و لینک دانلود اصلی رو میگیره

تو این سورس که پیوست میکنم میتونیم یاد بگیریم که از متونی ک مشابه هست کلیه اطلاعاتشو بگیریم مثلا تو سورس صفحه سایت

        <Link>link1</Link>
       <Link>link2</Link>
       <Link>link3</Link>
       <Link>link4</Link>
       <Link>link5</Link>
       <Link>link6</Link>
       .
       .
       .
       .

اینجوری هست ما نمیدونیم چندتا لینک هست با یه روش میتونیم همه لینک ها رو بگیریم ک در سورس پیوست شده استفاده شده است

رمز فایل : basic4android.org

لطفا کتابخونه های مورد نیاز رو هم قرار بدید

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میشه در مورد این کد

Sub prs_html(html As String)
   html = html.Replace("""","'")
   Dim str() As String
   str = Regex.Split("<title>", html)
   Dim i As Int 
   For i = 0 To str.Length - 1
       If i = 0 OR str(i).Contains("اولین و بزرگترین سایت دانلود آهنگهای کوردی</title>") Then
           Continue
       End If
       Dim title As String
        title = str(i).SubString2(0, str(i).IndexOf("</") + 0)
       Dim Link As String
       Link = str(i).SubString(str(i).IndexOf("<link>") +6)
       Link = Link.SubString2(0, Link.IndexOf("</") + 0)
       ListView1.AddTwoLines(title,Link)
       listLink.AddSingleLine(Link)
   Next
End Sub

و این کد

Sub prs_html2(html As String)
   html = html.Replace("""","'")
   Dim downloadLink As String
   Dim str() As String
   str = Regex.Split("<li><a href='", html)
   Dim i As Int
   For i = 0 To str.Length - 1
       Dim sbstr As String
       sbstr = str(i).SubString2(0,str(i).IndexOf("'") + 0)
       If sbstr.EndsWith(".mp3") Then
           downloadLink = sbstr
       End If
   Next
   Msgbox(downloadLink, "title")
End Sub

توضیح بدی؟؟

اخه عادت ندارم کپی کنم

یه سوال دیگه که prs_HTML چیه؟

دوباره ممنون بابت سورس

لینک ارسال
به اشتراک گذاری در سایت های دیگر

prs_html چیه ؟

Sub WebView1_PageFinished(url As String)
   Dim javascript As String = "B4A.CallSub('prs_html', true, document.documentElement.outerHTML)"
   WebViewExtras1.executeJavascript(WebView1, javascript)
End Sub

وفتی وب ویو1 لود کردن صفحه تموم میشه ما با استفاده از WebViewExtras1 کل سورس خروجی صفحه رو میگیرم و prs_html رو مشخص میکنیم ک یه sub باشه که بتونیم سورس صفحه رو در این sub به صورت string بگیریم

Sub prs_html(html As String)
   html = html.Replace("""","'")
   Dim str() As String
   str = Regex.Split("<title>", html)
   Dim i As Int 
   For i = 0 To str.Length - 1
       If i = 0 OR str(i).Contains("اولین و بزرگترین سایت دانلود آهنگهای کوردی</title>") Then
           Continue
       End If
       Dim title As String
        title = str(i).SubString2(0, str(i).IndexOf("</") + 0)
       Dim Link As String
       Link = str(i).SubString(str(i).IndexOf("<link>") +6)
       Link = Link.SubString2(0, Link.IndexOf("</") + 0)
       ListView1.AddTwoLines(title,Link)
       listLink.AddSingleLine(Link)
   Next
End Sub

داخل این sub ک سورس صفحه رو میگیریم html میشه سورس اون صفحه چون این " در کد خطا میده باید " رو به ' تبدیل میکنیم

Dim str() As String
   str = Regex.Split("<title>", html)

در این کد یه استرینگ آرایه می سازیم به نام str

میایم مساوی split قرار میدیم ک هر چی <title> در استرینگ html باشه

    Dim i As Int 
   For i = 0 To str.Length - 1
       If i = 0 OR str(i).Contains("اولین و بزرگترین سایت دانلود آهنگهای کوردی</title>") Then
           Continue
       End If
       Dim title As String
        title = str(i).SubString2(0, str(i).IndexOf("</") + 0)
       Dim Link As String
       Link = str(i).SubString(str(i).IndexOf("<link>") +6)
       Link = Link.SubString2(0, Link.IndexOf("</") + 0)
       ListView1.AddTwoLines(title,Link)
       listLink.AddSingleLine(Link)
   Next

با یه حلقه فور از 0 تا مقدار موجود در استرینگ str رو بگرده

چون بعضی از <title> ها نیاز به کار ما نیست و ما به اونها نیازی نداریم میایم با یه شرط if ازشون جلوگیری میکنیم

اولین تکرار حلقه مورد نیاز ما نیست پس میگیم if i = 0

OR یا

str(i).Contains("اولین و بزرگترین سایت دانلود آهنگهای کوردی</title>")

بود دستور Continue رو اجرا کنه

دستور Continue دستوریه که مانع از جلو رفتن کد میشه و مقدار رو برمیگردونه نمیزاره جلوتر بره مثه همون return عمل میکنه

Dim title As String
        title = str(i).SubString2(0, str(i).IndexOf("</") + 0)

در این کد میایم داخل استرینگ title

از داخل str(i) تا جایی که </ بود رو میگیریم

<title> سلام </title>

یعنی سلام رو میگیره

        Dim Link As String
       Link = str(i).SubString(str(i).IndexOf("<link>") +6)
       Link = Link.SubString2(0, Link.IndexOf("</") + 0)

در این کد از استرینگ str(i)

از جایی که <link> هست + 6 تا میریم جلو تا جایی که </ هست رو میگیره ک میشه همون لینک

Sub prs_html2(html As String)
   html = html.Replace("""","'")
   Dim downloadLink As String
   Dim str() As String
   str = Regex.Split("<li><a href='", html)
   Dim i As Int
   For i = 0 To str.Length - 1
       Dim sbstr As String
       sbstr = str(i).SubString2(0,str(i).IndexOf("'") + 0)
       If sbstr.EndsWith(".mp3") Then
           downloadLink = sbstr
       End If
   Next
   Msgbox(downloadLink, "title")
End Sub

در این sub مثله sub بالایی عمل میکنیم

    Dim str() As String
   str = Regex.Split("<li><a href='", html)

با یه استرینگ هر چی <li><a href=' در استرینگ html

بود رو میگیریم و مثله بالا به یه حلقه فور داخلش میچرخیم

و مانند بالا str(i) رو تا ' میگیرم و یه شرط میزاریم که انتهای استرینگ sbstr اگه .mp3 بود استرینگ downloadLink رو مساوی استرینگ sbstr قرار میدیم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به اینجا یه نگاه بنداز

http://answercenter.ir/thread942.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوسته عزیز من با یه سورس لینک دانلود رو واستون گرفتم حالا شما کافیه اون لینک ک گرفتمو با توجه به لینک تاپیکی ک دادم دانلود کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 سال بعد...

سلام خدا قوت. اگه میشه راهنمایی کنید چطوری به جای وصل شدن به ار اس اس تمام عناوین وبلاگ رو لیست کنیم و مطالب وبلاگ رو نمایش بدیم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...