• 1399/04/12

چاپ اطلاعات وب سایت در لیبل سی شارپ :

سلام من میخوام از سایت سهام یاب مثلا قیمت اخرین معامله رو بگیرم و در لیبل چاپ بشه با زدن دکمه get کدی که من نوشتم اینه میشه بگین چیکار کنم Not found! نشه لطفا

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp15
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "وغدیر"; 
            button1.Text = "Get";
        }

        private void button1_Click(object sender, EventArgs e)
        {

            button1.Text = "Wait...";
            button1.Enabled = false; 
            Application.DoEvents();
            var url = "https://www.sahamyab.com/hashtag/" + textBox1.Text;
            var page = GetPage(url);
            var classId = "ml-1 align-self-center";
            var regex = new Regex("<div _ngcontent-ygd-c30 class=\"" + classId + "\">\\s*(?<price>[^\\<\\s]*)\\s*</div>", RegexOptions.IgnoreCase);
            var match = regex.Match(page);
            label1.Text = (match.Success) ? match.Groups["price"].Value : "Not found!";
            button1.Text = "Get";
            button1.Enabled = true;
        }
        private static string GetPage(string url)
        {
            try
            {
                var request = (HttpWebRequest)WebRequest.Create(url);
                request.CookieContainer = new CookieContainer();
                request.Proxy = WebRequest.DefaultWebProxy;
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36";
                request.ProtocolVersion = HttpVersion.Version10;
                request.Accept = "*/*";
                request.ContentType = "text/html";
                request.ContentLength = 0;
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    var stream = response.GetResponseStream();
                    if (stream == null)
                    {
                        return string.Empty;
                    }
                    using (var reader = new StreamReader(stream))
                    {
                        return reader.ReadToEnd();
                    }
                }
            }
            catch
            {
                return "";
            }
        }
    }
}

از این قسمت

  • 1399/04/12
  • ساعت 19:49

یعنی هیچ جوابی نداره؟

 


  • 1399/04/12
  • ساعت 20:09

هیییییییییی


  • 1399/04/12
  • ساعت 23:16

سلام

دوست من یکم صبور باشین حتما استاد وقت نکردن ببینن 

و در رابطه با سوالتون باید دانش شبکه داشته باشین من هم ندارم که بتونم کمکتون کنم ولی فکر میکنم این سایت میتونه مفید باشه


  • 1399/04/14
  • ساعت 18:56

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

برای دانلود محتوای صفحات HTML میتونید از کد زیر استفاده کنید:

using (WebClient client = new WebClient()) // WebClient class inherits IDisposable
            {
                client.DownloadFile("https://www.sahamyab.com/hashtag/وغدیر", @"C:\localfile.html");

                // Or you can get the file content without saving it
                string htmlCode = client.DownloadString("https://www.sahamyab.com/hashtag/وغدیر");
            }

متد DownloadFile جهت دانلود اطلاعات صفحه و انتقال اطلاعات به داخل فایل و متد DownloadString جهت دانلود محتوای صفحه html به یک رشته در داخل یک متغیر است.


  • 1399/04/14
  • ساعت 19:02

یعنی این کد کار منو راه میندازه استاد؟ 


  • 1399/04/14
  • ساعت 19:18

استاد اون @"C:\localfile.html مربوط به چی میشه


  • 1399/04/14
  • ساعت 19:28

استاد این کد رو به من داد اما قیمت پایانی رو من پیدا نکردم من میخوام قیمت پایانی رو بگیرم از سایت توسط سی شارپ


  • 1399/04/15
  • ساعت 17:01

این کد برای گرفتن کلیه تگ های صفحه است برای گرفتن اطلاعات از صفحه (مثلا قیمت پایانی) باید درباره Regex ها یا همون Regular Expression ها مطالعه فرمایید تا بتونید طبق الگوی موردنظر خودتون اطلاعات رو از صفحه واکشی کنید.


  • 1399/04/15
  • ساعت 17:03

استاد من regex رو ک نوشتم تو کد اولی ک فرستادم براتون اشتباه هست؟ 

 

اخه من از بعضیا پرسیدم میگن درسته اما چرا کار نمیکنه اگ میشه فقط ی چک کنید اگر درست نیس قسمت regex بهم بگین یا اگر شد اصلاح کنید برام 


logo-samandehi