Web Scraper نه ولی Data Mining چرا

Web Scraper  نه ولی Data Mining چرا
Web Scraper نه ولی Data Mining چرا

سلام اگر من منو بشناسید صد در صد میدونید که زیاد نمینویسم فقط میخونم و نظر میذارم و از اونجایی که منو نمیشناسید گفتم که در جریان باشید :D

خب اصلا چی شد من این پس رو شروع کردم و چرا با این عنوان؟

  • بی محلی به بچه خوب برنامه نویس ها یعنی سی شارپ
  • تفاوت این دو کلمه و کار هر کدوم

یکی از بچه ها به اسم امیر مهدی (سلام امیر مهدی) شروع کرد به نوشتن Scraper به زبان Python پیش خودم گفتم چرا توی C# از این قضیه بی بهره باشیم؟

منم میخوام کلاس کار ببرم بالا و توی 2 تا پست مختلف این موضوع رو شرح بدم در حالی که جمعا 30 دقیقه هم وقت من و شمارو نمیگیره!

خب سرتون رو درد نیارم و بریم سراغ آموزش

من از یک Api بسیار ساده استفاده میکنم برای Data Mining چون هر چی کار پیچیده تر بشه به توضیحات و ابزار های پیچیده تری نیاز هست مانند Regex که بعدا درباره Regex توضیح میدم.

https://rp76.ir/Api/Quotation.php

خودتون مراجعه کنید و خروجی ادرس رو ببینید!

  • اولین قدم برای نوشتن یک دیتا ماینر خوب اجرا کردن IDE خودتون هست.
  • بعد نیاز هست که کتاب خونه های مورد نظر رو اضافه کنید!
using System.Net;
  • حالا که کتاب خونه مورد نظر رو اضافه کردیم دسترسی کامل به اجزای اینترنت داریم که اینجا از WebClient استفاده میکنیم
using(WebClient wb = new WebClient()){
    string result=wb.downloadstring(url);
    messagebox.show(result);
}

با همین 3 خط به صفحه مورد نظر متصل میشیم و سورس اون صفحه رو در متغیر result ذخیره میکنیم

دلیل استفاده از using در خط اول کد این بوده که پس از پایان کار حافظه اختصصاص شده رهایی یابد.

و دلیل donwloadstring هم این است که متد Get عملا متدی برای دریافت اصلاعات هست و متد post برای اپلود. البته اشتباه متوجه نشید با متد Get هم امکان ارسال اطلاعات هست ولی اصلاعات به صورت مخفی جا به جا نمیشه و درصد خرابی کار بالا میره!

بعد از اجرای کد بالا متوجه میشید که ورودی ما خیلی داغون هست و چرایی اون هم بر میگرده به سبک خروجی فایل ما که Json هست شما باید اون رو تبدیل کنید با کتاب خونه

using Newtonsoft.Json.Linq;

100% قدرت بنده به بقیه دوستان در زمینه برنامه نویسی و نگارش نمیرسه ولی امیدوارم خوشتون آمده باشه ?