PDA

View Full Version : حرفه ای: دانلود فایل از سایت



teymoorei
پنج شنبه 30 دی 1395, 07:10 صبح
سلام دوستان

میخوام از یک سایت که فایل های PDF در گروه های مختلف میزاره فایل هاشو با اسم گروه هاش دانلود کنم .

مثلا یک فایل PDF با نام "PHP" هست در گروه "برنامه نویسی" حالا من میخوام این فایل و نام گروهش از سایت دانلود بشه و توی دیتابیس ذخیره بشه ، که بعدا بشه به صورت آفلاین جستجو کرد .

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

ضمنا اون سایت نیاز به لاگین نداره .

لطفا راهنمایی بفرمایید .

nunegandom
پنج شنبه 30 دی 1395, 20:22 عصر
با سلام برای اینکه قسمت گروه بندی رو بخونه میتونید از regex کمک بگیرید
مثلا:


پیدا کردن method در html
(?<=method=").*?(?=")


پیدا کردن action در html
(?<=action=").*?(?=")
میتونید از یه همچین چیزی استفاده کنید و دسته ها رو برای هر صفحه در بیارید
صفحات رو هم با crawler میتونید پیدا کنید (اینو دیگه خودتون بنویسیدش یا توی source frog یا هر جا میدونید میتونید پیدا کنید )
قسمت دانلودش کلاسه WebClient متود DownloadFile داره که آدرساش رو از crawler اتون میگیرید و بهش پاس میدید


اون کد بالا که برای regex دادم میتونید استرینگ بین چیزی که میخواید رو پیدا کنید

teymoorei
یک شنبه 03 بهمن 1395, 09:47 صبح
1- من میخوام عنوان لینک های صفحه وب در پایگاه داده ذخیره شود


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


3- فقط لینک ها پی دی اف ذخیره شوند

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

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

nunegandom
یک شنبه 03 بهمن 1395, 17:21 عصر
سلام مجدد
۱ - صفحه یا کد html رو بذارید تا ببینیم کد هاش چی هست (صفحات دیگه سایتش رو هم بررسی کنید بعضی سایت ها هر صفحه ای رو هر جور بخوان میذارن و کدها فرق میکنه! یه وضعیتیه :| )
۲- اگر منظور از فایل های یک صفحه html css js و غیره باشند بهترین راه اینه یه VPS با سیستم عامل kali داشته باشید کلا سایت طرف رو ریپ کنید
۲- اگر منظور کلا فایلهایی هست که برای ویندوز نوشته شده و مربوط به مرورگر هم نیست... این باید بین تگ a باشه - یه regex برای پیدا کردن تگهای a میخواید - یه regex برای جدا کردن فایل ها از آدرس های داخل سایت که بین matches های regex اول باید بگرده
۳- بین آخرین لینک هایی که در regex آخر پیدا شده باید extension ها رو بررسی کنید.


برای مثال: توی یک سایت هر پست عنوانش داخل h1 قرار داده شده :
(?<=<h1>).*?(?=<\/h1>)
مثال: توی یک سایت هر پست عنوانش داخل h1 قرار داده شده و داخل h1 هم آدرس اون پست هست
این دو مرحله داره اول h1 رو جدا میکنیم
(?<=<h1>).*?(?=<\/h1>)
داخل خود چیزایی که جدا کردیم میگردیم دنبال آدرس ها:

(?<=href=").*?(?=")
پیدا کردن فایل های PDF دانلود:
با کدی که برای پیدا کردن آدرس ها هست کل آدرس های صفحات رو میگیرم ، بین اون آدرس ها یه regex میزنیم:


.*?[.][pP][dD][fF]



سایت برای تست آنلاین (https://regex101.com/)