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

نام تاپیک: استخراج اطلاعات از سایت دیوار

  1. #1

    استخراج اطلاعات از سایت دیوار

    سلام برای استخراج اطلاعات یک اگهی در سایت دیوار از
    HtmlAgilityPack
    استفاده میکنم همه رو با دستورات زیر واکشی میکنم به جز قیمت و تصاویر کسی میدونه باید چه کدی بزنم برای این دو پارامتر ؟
    تو تصویر دوم میخوام فیلد قیمت 4،000،000 تومان رو واکشی کنم و همچنین یکی از تصاویر

    ممنون میشم کسی پاسخ بدید


    https://s6.uupload.ir/files/w_4ju1.png

    https://s6.uupload.ir/files/2_87b6.png


    آدرس لینک اگهی موبایل دیوار :
    https://divar.ir/v/%D8%A7%D9%BE%D9%8...D8%B1/gYem0Nel
    آخرین ویرایش به وسیله sabzzz : سه شنبه 17 خرداد 1401 در 01:03 صبح

  2. #2
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    سلام.
    به نظر میاد قیمت و ... توسط درخواست های ایجکس در سایت فوق لود میشه، بنابراین باید از یک فریم ورک سمت کلاینت مانند Selenium Web Driver کمک بگیرید.
    این نمونه ها برای بحث Unit Testing است، اما از درون اینها می تونی کدهای لازم برای کارت رو استخراج کنی.

  3. #3

    نقل قول: استخراج اطلاعات از سایت دیوار

    ممنون مهندس میشه با یه تیکه کد نشون بدید چطوریه از اون لینک چیزی نفهمیدم
    من از asp mvc . net هم استفاده میکنم

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: استخراج اطلاعات از سایت دیوار

    سلام و روز خوش
    از این تصویری که پیوست کردن مشخصه که المنت نادرستی رو انتخاب کردین و برای همین این شبهه پیش آمده که قیمت و ... با ایجکس خونده میشه.

    شما با مرورگر developer tools رو باز و با ابزار inspect مشخصات اون element رو که نیاز دارین پیدا کنین.
    حالا در برنامه تون از هر روش و ابزار که استفاده میکنین باید ببینین چجوری به اون المان (یا مجموعه المانها) میرسین:
    ممکنه getelementbyid , getelementsbyclassname , و .... باشه،
    ممکنه که از xpath و selector های معینی استفاده کنه
    و ...

    این صفحه دیوار رو چک کردم همه چیزایی که نیاز دارین بصورت استاتیک لود شده : هم مشخصات (شامل قیمت) و هم آدرس همه عکسها در دسترسه.

    اگر برای پیدا کردن این المانها مشکل داشتین بگین راهنمایی کنم.

  5. #5

    نقل قول: استخراج اطلاعات از سایت دیوار

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

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: استخراج اطلاعات از سایت دیوار


  7. #7
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: استخراج اطلاعات از سایت دیوار


  8. #8

    نقل قول: استخراج اطلاعات از سایت دیوار

    ممنون و لی داداش من اینا رو صد بار تست کردم مقدار قیمت روبر نمیگردونن هیچ کدوم

    خواهشا یکی راهنمایی کنه حاضرم هزینه هم بدم فقط فیلد قیمت رو می خوام
    آخرین ویرایش به وسیله sabzzz : جمعه 20 خرداد 1401 در 09:05 صبح

  9. #9
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط sabzzz مشاهده تاپیک
    من اینا رو صد بار تست کردم مقدار قیمت روبر نمیگردونن هیچ کدوم
    شما قطعا یک جای کار دارین اشتباه میکنین - این خیلی سرراست و ساده است و کدش فکر کنم 10 خط نشه!
    کد خودتون رو بگذارین تا معلوم بشه مشکل کجاست.

    البته قیمت مستقیما مشخص نمیشه، یک مجموعه المنت هست که قیمت یکی از اونهاست (تو تصویر آخر پست شماره 6 کاملا واضح هست) ؛
    شما باید از روی title پیدا کنین که کدوم value متناظر با "قیمت" است.

    حاضرم هزینه هم بدم
    سایتای فریلنسری هست اگر میخواین هزینه کنین، فکر کنم چند ساعته و با مبلغ خیلی کمی انجام بدن.

  10. #10
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

    نقل قول: استخراج اطلاعات از سایت دیوار

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

    ایتم قیمت هم مثل سایر ایتمها در دسترس میباشد.

    price.PNG

  11. #11
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط 336699 مشاهده تاپیک
    شما کدهایی که نوشتید رو ارسال کنید.

    ایتم قیمت هم مثل سایر ایتمها در دسترس میباشد.

    price.PNG
    داده های درون تصویر ضمیمه شده رو از چه آدرسی بدست آوردید؟
    من یک نگاه سر سری به Request/Response ها در تب Network در Developer Tools انداختم ندیدمش.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط مهدی کرامتی مشاهده تاپیک
    داده های درون تصویر ضمیمه شده رو از چه آدرسی بدست آوردید؟
    من یک نگاه سر سری به Request/Response ها در تب Network در Developer Tools انداختم ندیدمش.

    https://api.divar.ir/v8/posts/gYem0Nel

    فقط کافیه توکن هر آگهی را جایگزین کنید تا اطلاعات آگهی را بصورت جیسون دریافت نمایید.

  13. #13
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط 336699 مشاهده تاپیک
    https://api.divar.ir/v8/posts/gYem0Nel

    فقط کافیه توکن هر آگهی را جایگزین کنید تا اطلاعات آگهی را بصورت جیسون دریافت نمایید.
    آفرین!

    دستاورد جالبی بود.

  14. #14
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    نتیجه گیری از بحث:
    با تشکر از توضیحات شرکت کنندگان در بحث، ابتدا لازم است مدل های JSON خروجی API دیوار به کلاس های سی شارپ تبدیل شوند.
    1. برای انجام این کار یا از سایت Json2CSharp.com می توان استفاده کرد، و یا اینکه نتیجه خروجی JSON یکی از آیتم های API دیوار از خط 4 ببعد تا انتها را انتخاب کنید، یک کلاس خالی در ویژوال استودیو ایجاد کنید، از منوی Edit گزینه Paste Special، و سپس Paste JSON as Classes را انتخاب کنید. این کار منتهی به ایجاد تعدادی کلاس منطبق و معادل با آبجکت های JSON فوق می شود. در پروژه ضمیمه شده، کلاس های فوق در فایل Models.cs قرار دارند.
    2. پکیج Newtonsoft.Json را به پروژه اضافه کنید.
    3. یک Request به آدرس API دیوار به آدرس https://api.divar.ir/v8/posts/ بفرستید. بعد از / آخر میبایست کد کالای مورد نظر را اضافه کنید.
    4. نتیجه را با استفاده از کلاس JsonConvert به تایپ مورد نظر تبدیل کنید.
    5. شرح کالا از پراپرتی data.description و قیمت کالا از پراپرتی data.webengage.price به شکل یک عدد int قابل خواندن خواهد بود.


    کل توضیحات فوق در قالب یک پروژه Windows Forms ضمیمه این پست شده است. در پروژه فوق علاوه بر شرح و قیمت، تصویرهای کالا نیز لود شده و در یک PictureBox نمایش داده می شود.

    نکته: در این پروژه برای خواندن اطلاعات از وب از کلاس HttpDownloader استفاده شده است (داخل پروژه هست). مزیت این کلاس پشتیبانی GZIP است، یعنی اگر پاسخ وب سرور با استفاده از روش GZIP فشرده شده باشد این کلاس برای دسترسی به پاسخ های آن سرور به مشکل بر نمی خورد.
    فایل های ضمیمه فایل های ضمیمه

  15. #15

    نقل قول: استخراج اطلاعات از سایت دیوار

    دم همتون گرم کارم راه افتاد
    فقط اگه میشد فیلد شماره موبایل آگهی هم واکشی کرد عالی میشد !

  16. #16
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط sabzzz مشاهده تاپیک
    دم همتون گرم کارم راه افتاد
    فقط اگه میشد فیلد شماره موبایل آگهی هم واکشی کرد عالی میشد !
    واکشی شماره موبایل به این راحتی ها نیست. آدرس خواندن مشخصات آگهی دهنده این است:
    https://api.divar.ir/v5/posts/Token}/contact/

    در آدرس فوق بجای Token شناسه آگهی را قرار می دهید. منتهی فراخوانی موفق آدرس فوق نیازمند در اختیار داشتن یک Bearer Token است.
    مقدار Bearer Token فقط پس از ورود با شماره موبایل به شما تخصیص داده میشه. پارامتر خروجی تابع ورود به سیستم یک توکن هست، از همون توکن بعنوان Bearer Token برای فراخوانی تابع هایی که نیاز به لاگین بودن بیننده دارند (مثل تابع Contact، برای دریافت مشخصات آگهی دهنده از جمله شماره موبایل) استفاده خواهد شد.

  17. #17
    کاربر دائمی
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    ایران
    پست
    372

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط sabzzz مشاهده تاپیک
    دم همتون گرم کارم راه افتاد
    فقط اگه میشد فیلد شماره موبایل آگهی هم واکشی کرد عالی میشد !
    سلام
    برای دریافت شماره آگهی ها محدودیت های زیادی از طرف سایت اعمال شده.

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

    محدودیت اصلی از همینجا شروع میشه

    شما روزانه فقط حدود 200 در خواست میتوانید ارسال کنید بعد از اون درخواستهای شما به مدت 24 از طرف سایت بلاک میشه.

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

    اون توکن دریافتی هم چند روز بیشتر اعتبار نداره و باید مجداد تمدید بشه.

  18. #18
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    مرسی بابت اطلاعات مفیدتون.

    شما روزانه فقط حدود 200 در خواست میتوانید ارسال کنید بعد از اون درخواستهای شما به مدت 24 از طرف سایت بلاک میشه.
    کسی اگر به اندازه کافی سریش باشه می تونه یک تعداد شماره رو بهمراه توکن هاش تو دیتابیس نگهداره، و با هر توکن در روز مثلا 199 تا آگهی رو بخونه، بعد سویچ کنه روی شماره بعدی.

    اون توکن دریافتی هم چند روز بیشتر اعتبار نداره و باید مجداد تمدید بشه.
    اون توکن اصولا باید حالت Sliding Expiration داشته باشه، یعنی زمان و تاریخ انقضاش، به اندازه تعریف شده، از آخرین استفاده محاسبه بشه. اگر تجربه شما عکس این رو ثابت کرده لطفا بیان کنید.

  19. #19

    نقل قول: استخراج اطلاعات از سایت دیوار

    یه سری افراد دارن contact هارو سلکت میکنن ایا روشی هست برای دور زدن محدودیت از لوگین ؟ یا رباتی نوشته بشه خودش لوگین کنه بفرست شماره موبایل رو

  20. #20
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    آیا روشی هست برای دور زدن محدودیت از لوگین ؟
    خیر. روش خاصی نداره. در حالت بدون لاگین، سیستم سایت دیوار شماره آگهی گذارنده رو ماسک می کنه (نصف شماره با *** جایگزین شده)، منطقی هم هست که برای حفاظت از مشتری هاش اینکار رو بکنه.

    یا رباتی نوشته بشه خودش لوگین کنه بفرست شماره موبایل رو
    ربات تقریبا همین نرم افزاری است که بالاتر ضمیمه کردم و در تعریف، نرم افزاری است که کار مورد نظر رو خودکار انجام بده. تمام کدهای مورد نیاز نرم افزار خودکار فوق تو مثال ضمیمه شده هست، مابقی ماجرا مثل سویچ کردن شماره ها و ... رو هم توضیح دادم. تنها بخشی که باقی می ماند این است که یک Scheduler به پروژه اضافه کنید که خودش در بازه های زمانی تعریف شده روتین های فوق رو اجرا کنه.

  21. #21

    نقل قول: استخراج اطلاعات از سایت دیوار

    نقل قول نوشته شده توسط مهدی کرامتی مشاهده تاپیک
    واکشی شماره موبایل به این راحتی ها نیست. آدرس خواندن مشخصات آگهی دهنده این است:
    https://api.divar.ir/v5/posts/Token}/contact/

    در آدرس فوق بجای Token شناسه آگهی را قرار می دهید. منتهی فراخوانی موفق آدرس فوق نیازمند در اختیار داشتن یک Bearer Token است.
    مقدار Bearer Token فقط پس از ورود با شماره موبایل به شما تخصیص داده میشه. پارامتر خروجی تابع ورود به سیستم یک توکن هست، از همون توکن بعنوان Bearer Token برای فراخوانی تابع هایی که نیاز به لاگین بودن بیننده دارند (مثل تابع Contact، برای دریافت مشخصات آگهی دهنده از جمله شماره موبایل) استفاده خواهد شد.
    ضمن تشکر در مورد Bearer Token کمی بیشتر توضیح میدید وقتی با موبایل لاگین شدیم کجا سورس دنبالش بگردیم؟
    ممنون

  22. #22
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379

    نقل قول: استخراج اطلاعات از سایت دیوار

    معمولا تو ریسپانسی که بعد از لاگین بهتون میده تو هدر یا بادی ریسپانس Bearer Token هست و میشه خوندش.

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

  1. پاسخ: 0
    آخرین پست: دوشنبه 30 دی 1398, 19:24 عصر
  2. دسترسی به ترد یوآی داخل یک ترد دیگر
    نوشته شده توسط kamran_14 در بخش Android Studio
    پاسخ: 1
    آخرین پست: جمعه 24 خرداد 1398, 10:16 صبح
  3. حرفه ای: کنترل جستجوی سایت دیوار
    نوشته شده توسط hmahdavi921 در بخش طراحی وب (Web Design)
    پاسخ: 0
    آخرین پست: چهارشنبه 08 آذر 1396, 20:18 عصر
  4. سوال: جستجو در کیوری
    نوشته شده توسط rashidianc در بخش Access
    پاسخ: 1
    آخرین پست: چهارشنبه 07 اردیبهشت 1390, 14:17 عصر
  5. جستجوی عجیب !!!!!!!!!!!!!!!!!!!! مای اس کیوال
    نوشته شده توسط tofan8 در بخش MySQL
    پاسخ: 2
    آخرین پست: پنج شنبه 28 مرداد 1389, 19:00 عصر

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

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