آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

ابراهیم  9 سال پیش  9 سال پیش
+1 0

سلام دوستان و اساتید عزیز خدا قوت و خسته نباشید.

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

خدا قوت

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
سجاد عباسی  9 سال پیش
+1 0

به نظر من میتونید با استفاده از cronjob هر چند دقیقه یه url رو صدا بزنه که بیاد این کار ور بکنه:

صفحه اون سایت رو لود کنه و با استفاده از regex یا روش های دیگه ( استفاده از تگ های htmlو id که کتابخونه هم  داره میشه ازش استفاده کرد.) مطالب مورد نیاز خود رو بگیرید و چک کنین تکراری نباشه. و مطالب رو در دیتابیس درج کنین.
من با کتابخانه هایی که گفتید کار نکردم ولی ترجیح میدم خودم این کار رو انجام بدم بهتر در میاد:D .
قبلا چند بار این کار رو انجام دادم که از متن وب سایت مطالب مورد نیازم رو استخراج کنم چون api نداشتن...

ویرایش:
گفتم در php برای گرفتن یک قسمت از page html دو راه دارید که راه اول استفاده از regex هست که استاد تو اموزش ها درس دادن یه مثالش: لینک و راه دیگه استفاده از کتابخانه هایی مثل PHP simple dom parser هست که به شما اجازه میده قسمتی از html رو به دست بیارید :‌ لینک  لینک . با این روش ها میتونید قسمتی که مورد نظرتون هست رو پیدا کنید بعد هم چک کنید که در دیتابیس موجوده یا نه و اینسرتش کنید.

قسمت دوم این هست که این کار هر چند دقیقه باید انجام بشه(مثلا هر یک دقیقه) که میتونید از cronjobs استفاده کنید که استاد در فیلم های آموزشی آموزشش رو دادن و میتونید ببینید.

0 0
خیلی ممنون اگر امکانش هست بیشتر توضیح بفرمایید. یعنی در سرور این کار را انجام دهم ؟ ایا کتابخانه ای برای زبانphp سمت سرور برای این منظور هست یا از زبان دیگری می بایست استفاده کنم؟ (9 سال پیش)
0 0
می شه چند تا رفرنس برای این منظور بهم معرفی کنید هر چه به زبان انگلیسی جستجو می کنم چون دقیقا راه را نمی دانم در سایت هایی مانند استک به نتیجه ای نمی رسم. (9 سال پیش)
+1 0
پاسخ ویرایش شد. (9 سال پیش)
پاسخ به سوال 
ابراهیم  9 سال پیش
0 0

خیلی ممنون بابت پاسخگویی . یک نکته ی دیگر سایت های مورد نظر بنده به این صورت هستند که به طور مثال شما سه پارامتر مانند تاریخ و مبدا را به آن ها می دهید و آن ها نتیجه را به شما نشان می دهند بنده چگونه و با استفاده از چه چیزی می توانم کاری کنم که به طور مثال خود ربات نوشته شده و یا لایبرری خودش تمام حالت های ممکن را وارد کند و نتیجه را به دیتا بیس بنده بدهد به این صورت که به طور مثال از تاریخ دو ماه پیش شروع کند تاریخ دو ماه پیش با مبدا تهران را در قمست مربوطه از ان سایت انتخاب کند نتیجه را بگیرد برای من بفرستد سپس نتیجه ی مربور به پنجاه و نه روز پیش و همینطور تا دو ماه آینده بیاید و سپس در قسمت مربوط با انتخاب مبدا بعد از تهران برود سراغ تبریز و کرمانشاه و همینطور الا اخر ؟

+1 0
این قابلیت که شما میخواید ممکن نیست ، مگر اینکه دسترسی به دیتابیس داشته باشید و یا از سمت سرور API به شما داده شود ، ولی شما میتونید با استفاده از Jsoup تمام اطلاعات موجود در سایت هایی که معرفی کردید رو بگیرید و همانطور در برنامه نمایش دهید ، نیاز به ذخیره شدن در دیتابیس جداگانه ایی ندارد و برنامه مستقیم به سایت هایی که معرفی کردید وصل میشه و اطلاعات رو میگیره و توی لیست ویو نمایش میده بعد از اون شما باید ببینید با اطلاعاتی که دارید چقدر دسترسی دارید و چقدر براتون ممکن هست که جستوجوهای مختلفی رو انجام بدید مثلا دسته بندی بر اساس مبدا و مقصد و غیره آموزش Jsoup در انجمن موجود هست (9 سال پیش)
+1 0
این رو هم اضافه کنم که شما باید سایت ها رو بررسی کنید و نحوه درخواست های GET , POST و غیره رو بررسی کنید برای مثال در انتهای این آدرس لینک اگر 189 باشد مقد از تهران است و اگر 212 باشد مقصد از مشهد شما میتوید با JSoup این URL ها رو ازسال و محتوی رو دریافت و در لیست نمایش دهید (9 سال پیش)
0 0
خیلی ممنون کریس عزیز لطف کردی. علت این که بنده می خواستم از یک دیتا بیس استفاده کنم و اطلاعات مورد نظرم را در دیتابیس ذخیره کنم و سپس اپ اندرویدی وصل شه به دیتا بیس و اطلاعات را در یک ریسایکلر ویو نمایش بده این بوده که می خواستم سرعت لود اطلاعات در اپلیکیشن اندروید ی بهینه باشه . ممنون بابت پیشنهاد شما باید برم JSoup را بررسی کنم . (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .