نمایش نتایج 1 تا 7 از 7

نام تاپیک: برداشتن یک قسمت از یک سایت

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    United States of America
    پست
    37

    Question برداشتن یک قسمت از یک سایت

    درود
    توی سایت bonbast.com آخرین قیمت دلار رو زده. میخوام فقط اون قسمت قیمت دلار رو که مثلا زده 3490 رو بردارم و بزارم توی برنامه (فقط عدد 3490 رو). کدش به چه صورت هست؟
    مثلا اگه بخوام قیمت رو توی یه Textbox نشون بده، باید بنویسم textbox1.text= با چی؟
    سپاس

  2. #2

    نقل قول: برداشتن یک قسمت از یک سایت

    سلام دوست عزیز براتون درست کردم


    Dim htmlText, GetOnlyDollar As String



    'Get Website Source Code'


    Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.bonbast.com/")
    Dim response As WebResponse = request.GetResponse()


    Dim stream As Stream = response.GetResponseStream()


    Dim reader As StreamReader = New StreamReader(stream)


    htmlText = reader.ReadToEnd()




    'Find Dollar'


    Dim DStart As Integer = htmlText.IndexOf("US Dollar")
    Dim DEnd As Integer = htmlText.IndexOf(";"">", DStart)


    Dim Dollar As String = htmlText.Substring(DStart, DEnd - DStart + 7)




    'Get Only Dollar'


    Dim DollarString As String = Dollar
    Dim DSub As String = DollarString.Substring(DollarString.LastIndexOf("; "">"))
    GetOnlyDollar = DSub.Remove(0, 3)


    MessageBox.Show(GetOnlyDollar)

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    United States of America
    پست
    37

    نقل قول: برداشتن یک قسمت از یک سایت

    سپاس فراوان
    این کد که دادین رو گذاشتم زیر این خط
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    و این دوتا رو هم گفت اضافه کن که کردم:

    Imports System.Net
    Imports System.IO


    Dim DSub As String = DollarString.Substring(DollarString.LastIndexOf("; "">"))
    حالا خط بالا رو هایلایت میکنه و ارور زیر رو میده:
    StartIndex cannot be less than zero.
    Parameter name: startIndex


    ویرایش:
    پیداش کردم مشکل رو. خط 39 که خودتون نوشتین ایندکس آخری وسطش 2تا فاصله هست که پاکش کردم.
    یه سوال دیگه اینکه ایندکس US Dollar رو خود برنامه میتونه بفهمه که مثلا عدد 50هست ولی ایندکس ";"">" یعنی کجا؟
    اگر بخوام قیمت خرید رو بگیرم چه تغییراتی باید بدم؟
    اون عدد 7 از کجا اومده؟


    کلا اگه بخوام یه متن رو از یه وبسایت بگیرم چجوریه؟ مثلا توی سایت نوشته my user name is saidjan. من میخوام از user تا is رو از سایت بگیرم.
    و یه سوال دیگه اینکه میخوام با زدن یه دکمه وبسایت اپدیت بشه. مثلا اگه ادرس سایت bn1 هست با زدن دکمه بشه bn2 و همینجوری بره بالا تا سایت باز بشه؟

    ببخشید زیاد پرسیدم.
    سپاس فراوان از کمکتون
    آخرین ویرایش به وسیله SaidJan : سه شنبه 11 آذر 1393 در 05:32 صبح

  4. #4

    نقل قول: برداشتن یک قسمت از یک سایت

    خواهش می کنم دوست من

    آزه الان دیدم نمیدونم چرا بینشون فاصله افتاده بود .

    ایندکس ";"">"

    {
    چون String Dollar ما اینجا این کد رو پیدا می کنه و تنها عدد رو نمایش نمیده یعنی :

    Dollar =
    US Dollar</span></td><td><span style="color: #666666;">3380


    در اینجا چون بعد از کد رنگ ، عدد مورد نظر قرار داره DStart رو 7 + کردیم تا عدد مورد نظر رو هم در بر بگیره




    چون گفتم شاید یه وقتی در سورس سایت تغییری پیدا کنه : مثال
    color: #666666; تغییر کنه به color: #45768; یک عدد کم یا زیاد بشه که اگه بصورت دستی index = 55 میدایم یک حرف یا عدد قبل ار عددمون می دیدیم مثال : 3420< با این کار DSub مون .LastIndexOf(";"">" رو برامون پیدا میکنه


    در این صورت کد رو به صورت زیر بنویسید که هم فروش هم خرید رو نمایش می ده :


    Dim htmlText, GetOnlyDollarForoosh, GetOnlyDollarKharid As String


    'Get Website Source Code'


    Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.bonbast.com/")
    Dim response As WebResponse = request.GetResponse()


    Dim stream As Stream = response.GetResponseStream()


    Dim reader As StreamReader = New StreamReader(stream)


    htmlText = reader.ReadToEnd()




    'Find Dollar'


    Dim DStart As Integer = htmlText.IndexOf("US Dollar")
    Dim DEnd As Integer = htmlText.IndexOf("class=""separator", DStart)


    Dim Dollar As String = htmlText.Substring(DStart, DEnd - DStart + 7)




    'Get Only Dollar'


    Dim DollarString As String = Dollar


    'Foroosh Dollar


    Dim DollarForooshStart As Integer = DollarString.IndexOf(";"">")
    Dim A As String = DollarString.Substring(DollarForooshStart, 7)
    GetOnlyDollarForoosh = A.Remove(0, 3)


    'Kharid Dollar'


    Dim DollarKharidStart As Integer = DollarString.LastIndexOf("</span></td><td><span") - 7
    Dim D As String = DollarString.Substring(DollarKharidStart, 7)
    GetOnlyDollarKharid = D.Remove(0, 3)


    MessageBox.Show("قیمت فروش : " & GetOnlyDollarForoosh & vbNewLine & "قیمت خرید : " & GetOnlyDollarKharid)



    این سایت کمی مشکل بود . ولی سایت های دیگه راحت ترن .




    Dim MyText As String = "<12345555555435>jjjj<><class=""name"">my user name is saidjan.""</class=""name""></12345555555435></jjjj>"


    Dim Starts As Integer = MyText.IndexOf("<class=""name"">")
    Dim Ends As Integer = MyText.IndexOf("</class=""name"">", Starts) - 1


    Dim D As String = MyText.Substring(Starts, Ends - Starts).Remove(0, 14)




    MessageBox.Show(D)






    در مورد این که آدرس سایت تغییر کنه اطلاعی ندارم .

    }

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    United States of America
    پست
    37

    نقل قول: برداشتن یک قسمت از یک سایت

    اگه بخوام از این صفحه http://www.phonearena.com/phones/manufacturers/Nokia یا این صفحه http://www.gsmarena.com/samsung-phones-9.php فقط اسم تمام گوشی ها رو بردارم و توی یه فایل txt ذخیره کنم چجوری میشه این برنامه رو با vb ساخت؟
    اگه بخوام از روشی که تو همین تاپیک گفته شده استفاده کنم، انگار نمیشه. چون تعداد گوشی ها بیشتر از 1 هست و نمیدونم چجوری نوشته میشه. ممنون میشم کمکم کنید.

  6. #6

    نقل قول: برداشتن یک قسمت از یک سایت

    نقل قول نوشته شده توسط SaidJan مشاهده تاپیک
    اگه بخوام از این صفحه http://www.phonearena.com/phones/manufacturers/Nokia یا این صفحه http://www.gsmarena.com/samsung-phones-9.php فقط اسم تمام گوشی ها رو بردارم و توی یه فایل txt ذخیره کنم چجوری میشه این برنامه رو با vb ساخت؟
    اگه بخوام از روشی که تو همین تاپیک گفته شده استفاده کنم، انگار نمیشه. چون تعداد گوشی ها بیشتر از 1 هست و نمیدونم چجوری نوشته میشه. ممنون میشم کمکم کنید.

    خب من براتون Project درستش کردم از سایت http://www.gsmarena.com/samsung-phones-9.php کل گوشی ها رو در فایل txt. در کنار برنامه ذخیره می کنه


    موفق باشید
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip Ts1.zip‏ (63.6 کیلوبایت, 12 دیدار)

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    United States of America
    پست
    37

    نقل قول: برداشتن یک قسمت از یک سایت

    عالی کار کرد. فایل رو به صورت txt ذخیره کرد. ازتون خیلی ممنونم. ولی میشه توضیح بدید چجوری؟ درضمن من میخوام واسه یادگیریم اینو اول توی listbox ذخیره کنم، بعد توی فایل txt
    و اینکه لوپ یا همون تکرار رو چجوری به کار بردید؟ من تونستم اولین گوشی رو که galaxy j1 هست رو بگیرم ولی نتونستم بزارم توی لوپ که بقیه رو هم بگیره.
    درضمن من میخوام این رو با کل سایت gsmarena کنم که بتونم لیست تمام گوشیها رو دربیارم.
    اینو خودم نوشتم ولی فقط اسم اولین گوشی رو درمیاره: چند خط رو هم کامنت کردم چون کار نمیکرد.
    کد HTML:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim htmlText As String
            Dim request As HttpWebRequest = HttpWebRequest.Create("http://www.gsmarena.com/samsung-phones-9.php")
            Dim response As WebResponse = request.GetResponse()
            Dim stream As Stream = response.GetResponseStream()
            Dim reader As StreamReader = New StreamReader(stream)
            htmlText = reader.ReadToEnd()
            'While htmlText IsNot Nothing
            Dim i As Integer
            Dim j As Integer
            i = htmlText.IndexOf("""><strong>")
            j = htmlText.IndexOf("</strong></a></li><li><a href=")
            ListBox1.Items.Add(i)
            ListBox1.Items.Add(j)
            TextBox1.Text = htmlText.Substring(i + 10, j - 10 - i)
            'Else
            '   MsgBox("salam")
            'End If
            'End While
        End Sub
    بازم سپاس فراوان
    فایل های ضمیمه فایل های ضمیمه

تاپیک های مشابه

  1. ارتباط با یک قسمت از یک سایت با vb !!
    نوشته شده توسط Veteran در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: شنبه 28 اسفند 1389, 14:59 عصر
  2. سوال: برداشتن querystring از ادامه آدرس سایت
    نوشته شده توسط mohandesan در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 12 اسفند 1388, 00:09 صبح
  3. پاسخ: 21
    آخرین پست: سه شنبه 23 تیر 1388, 11:40 صبح
  4. سوال: ساخت قسمت اخبار در سایت
    نوشته شده توسط moosa2007 در بخش Classic ASP
    پاسخ: 4
    آخرین پست: شنبه 09 شهریور 1387, 11:18 صبح
  5. درخواست قسمت جدید در سایت
    نوشته شده توسط razavi_university در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 1
    آخرین پست: جمعه 25 شهریور 1384, 10:57 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •