PDA

View Full Version : دانلود اتوماتیک از سایت دیگر



teymoorei
دوشنبه 04 بهمن 1395, 10:23 صبح
سلام دوستان

1- من میخوام عنوان لینک های یک صفحه وب در پایگاه داده ذخیره بشه


2- فایل ها ی PDF صفحه دانلود شود و در پایگاه داده ذخیره شود

مثلا : توی یک سایت یک کتاب با پسوند PDF گذاشته به نام :

دانلود دیوان حافظ

من میخوام (خود برنامه) عنوانش رو توی یک فیلد و فایل هاش توی فیلد دیگه ذخیره بشه

باتشکر

plague
دوشنبه 04 بهمن 1395, 16:01 عصر
اینی که شما میگید ربات/خزنده هستش
باید صفحه وب رو دریافت کنیدبا یه متد مثل file_get_Contents یا curl بعد کد های html رو پردازش کنید و لینک ها رو در بیارید بریزید تو دیتبایس
بعد با یه ربات دیگه برید فایل ها رو بخونید بیارید رو هاست خودتون که اینم روشش مثل همون بالاست که گفتم

teymoorei
سه شنبه 05 بهمن 1395, 08:31 صبح
اینی که شما میگید ربات/خزنده هستش
باید صفحه وب رو دریافت کنیدبا یه متد مثل file_get_Contents یا curl بعد کد های html رو پردازش کنید و لینک ها رو در بیارید بریزید تو دیتبایس
بعد با یه ربات دیگه برید فایل ها رو بخونید بیارید رو هاست خودتون که اینم روشش مثل همون بالاست که گفتم

سلام ممنونم

اگه ممکنه یه نمونه بزارید .

teymoorei
پنج شنبه 07 بهمن 1395, 00:16 صبح
هیچ کس نیست مشارکت کنه ؟

lizard.tiny
پنج شنبه 07 بهمن 1395, 11:30 صبح
سلام

برای اینکار شما باید اول لینک های یک صفحه رو بتونید استخراج کنید

یک نمونه کد نوشتم که میتونه لینک های یک صفحه رو استخراج کنه : http://pastecode.ir/?p=2329

در مرحله دوم لینک ها رو فیلتر کنید, مثلاً در این کد من مشخص کردم فقط لینک هایی که عبارت whmcs توی اونها هست خروجی بگیره ( شما فیلتر رو بزارید روی کلمه ای مثل .pdf ) کد : http://pastecode.ir/?p=2330

در نهایت با این کد لینک میتونید فایل های مورد نیاز رو روی سرور دانلود و ذخیره کنید : http://pastecode.ir/?p=2331

اینا مثال بود و خودتون باید کدها رو توسعه بدید

teymoorei
شنبه 09 بهمن 1395, 08:17 صبح
سلام

ممنونم از توجه تون و راهنمایی بسیار میفد شما .

زمانی که از یک سایت میخواد لینک ها رو استخراج کنه ارور زیر رو میده :



Warning: DOMDocument::loadHTML(): Tag marquee invalid in Entity, line: 198 in C:\xampp\htdocs\test\1.php on line 6

Notice: DOMDocument::loadHTML(): Namespace prefix aryaniccms is not defined in Entity, line: 198 in C:\xampp\htdocs\test\1.php on line 6


البته نتیجه رو هم نمایش میده .

باتشکر

lizard.tiny
شنبه 09 بهمن 1395, 12:20 عصر
سلام

پیشنهاد میکنم از zPanel به جای xampp استفاده کنید

همچنین عنوان کنید از چه سایتی میخوایید فایل ها رو استخراج کنید ؟

teymoorei
یک شنبه 10 بهمن 1395, 12:04 عصر
پیشنهاد میکنم از zPanel به جای xampp استفاده کنید


من zpanel رو برای دانلود پیدا نکردم .



همچنین عنوان کنید از چه سایتی میخوایید فایل ها رو استخراج کنید ؟


تمام فایل های زیر مجموعه های آدرس زیر رو میخوام دانلود بشه (لینک های پایین صفحه) و در دیتابیس ذخیره کنم ، ضمن این که نام هر فایل هم در یک فیلد دیگه ذخیره بشه .

سایت مورد نظر (http://research.irantvto.ir/index.aspx?siteid=83&pageid=1432)

abdollahpor
دوشنبه 11 بهمن 1395, 09:35 صبح
دانلود zpanel (https://netassist.dl.sourceforge.net/project/zpanelcp/server_stack/10.0.2/zpanel-stack-1_0_2_php53.exe)

lizard.tiny
چهارشنبه 13 بهمن 1395, 01:07 صبح
درود

خدمت شما از این کد استفاده کن : http://pastecode.ir/?p=2558

این کد, لینک های یک صفحه رو در میاره

اونها رو اسکن میکنه

و لینک هایی که فایل PDF هستن رو دانلود میکنه


همچنین نمونه کد برای ذخیره در دیتابیس هم درونش قرار دادم

teymoorei
چهارشنبه 13 بهمن 1395, 13:43 عصر
سلام ممنون

1- لینک های تکراری رو دانلود نکنه


2- عنوان تک a رو در orginal_name ذخیره کنه ( مثلا : آشپزی ) (الان اینطوری ذخیره میشه : %D9%85%D8%B1%D8%A8%DB%8C_%D8%A2%D8%B4%D9%BE%D8%B2% DB%8C.pdf )


3- به نظر شما برای گروه بندی کردن رشته همون طور که توی سایت هست چه راهکاری پیشنهاد میدید ؟

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


مثلا :


اﺳﺘﺎﻧﺪاردھﺎي آﻣﻮزش ﺷﻐﻞ > ﺣﻮزه ﺧﺪﻣﺎت > امور اداری >
(در نهایت دانلود فایل)

با تشکر فراوان

teymoorei
چهارشنبه 13 بهمن 1395, 19:42 عصر
سلام

من برای نام از urldecode استفاده کردم ، اما من نام فایل رو نمیخوام بلکه متن داخل تگ <a> رو میخوام .

مثلا :


<a href="www.google.com>متن مد نظر بنده</a>

lizard.tiny
شنبه 16 بهمن 1395, 11:43 صبح
سلام

از این کد استفاده کنید : http://pastecode.ir/?p=3104

teymoorei
یک شنبه 17 بهمن 1395, 15:31 عصر
http://pastecode.ir/?p=3104

اگه ممکنه درباره کد زیر توضیح بدید .

من توی این کد دقیقا نمیدونم :

لینک فایل تو کدوم متغییره ؟

نام اصلی فایل تو ی کدوم متغییره ؟

عنوان لینک یا همون نام فارسیش تو کدوم متغییر ذخیره شده ؟

باتشکر

lizard.tiny
یک شنبه 17 بهمن 1395, 15:41 عصر
سلام

لینک فایل ها در متغیر $key هست ( در حلقه for بین خط های 28 تا 57 )

نام فارسی فایل بدون پسوند در متغیر $value هست

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




str_replace('ی', 'ي', $value) .'.'. $filter


نام اصلی فایل ها ذخیره نمیشه, برای هر فایل موقع دانلود یک نام random در نظر گرفته میشه که در متغیر $file_name ذخیره شده و پس از دانلود در خط 55 فایل به عنوانی که بینک تگ a نوشته شده تغییر نام داده میشه

نسخه کاملتر این کد رو در انجمن سایت شخصی خودم منتشر کردم : http://metalk.ir/topic/21-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%88-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%A9%D9%84%DB%8C%D9%87-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7-%D8%A8%D8%A7-%D9%BE%D8%B3%D9%88%D9%86%D8%AF-%D9%85%D8%B4%D8%AE%D8%B5-%DB%8C%DA%A9-%D8%B5%D9%81%D8%AD%D9%87/

teymoorei
یک شنبه 17 بهمن 1395, 15:50 عصر
نام اصلی فایل ها ذخیره نمیشه, برای هر فایل موقع دانلود یک نام random در نظر گرفته میشه که در متغیر $file_name ذخیره شده و پس از دانلود در خط 55 فایل به عنوانی که بینک تگ a نوشته شده تغییر نام داده میشه

همه چی درست شد اما ، نمیشه نام اصلی فایل یا همون (Orginal-name) هم درست مثل نمونه کد قبل ذخیره بشه ؟

lizard.tiny
یک شنبه 17 بهمن 1395, 16:03 عصر
در این کد ذخیره میشه : http://pastecode.ir/?p=3125

در متغیر $orginal_name

teymoorei
دوشنبه 18 بهمن 1395, 12:48 عصر
دوتا سوال :

1- محل ذخیره شدن فایل ها رو کجا تغییر بدم .

2- به نظر شما چطور کاربر متغییر Link یا همون آدرس صفحه رو بده به متغییر ما (چه صفحه ای طراحی کنم که کاربر پسند باشه) ، چه کار کنم که کاربر گیج نشه ؟

ممنون

lizard.tiny
دوشنبه 18 بهمن 1395, 14:53 عصر
توی این کد میتونید دایرکتوری دانلود رو مشخص کنید : http://pastecode.ir/?p=3151

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