magicfile icon وبسایت فایل سحرآمیز - magicfile.ir

سورس کد خزنده وب (Web Crawler) در اکسل با VBA برای استخراج لینک‌های داخلی سایت

توضیحات کوتاه و لینک دانلود
امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک سورس کد خزنده وب با VBA در اکسل | استخراج لینک‌های داخلی سایت را آماده دانلود قرار داده ایم

دانلود - Download

لیست فایل های مشابه


رضایت کاربران از دانلود فایل
پیشنهاد
288
تعداد دانلود
161
رضایت مندی
97%
کم متوسط زیاد
سورس-کد-خزنده-وب-(Web-Crawler)-در-اکسل-با-VBA-برای-استخراج-لینک‌های-داخلی-سایت
لینک کوتاه : https://magicfile.ir/?p=4679
توضیحات کامل در مورد فایل

دانلود سورس کد خزنده وب (Web Crawler) در اکسل با VBA برای استخراج لینک‌های داخلی سایت

در این پست، قصد داریم یک کد بسیار کاربردی و جالب به زبان VBA را معرفی کنیم که با اجرای آن در محیط اکسل، می‌توانید یک خزنده وب (Web Crawler) ساده بسازید. این خزنده به‌طور خودکار به یک آدرس سایت مشخص شده متصل می‌شود، صفحات داخلی آن را بررسی می‌کند و تمامی لینک‌هایی که به دامنه اصلی تعلق دارند را استخراج و در یک شیت مجزا ذخیره می‌کند. این ابزار برای کسانی که به دنبال تحلیل ساختار لینک‌های داخلی سایت، بررسی وضعیت سئو یا جمع‌آوری اطلاعات اولیه از صفحات وب هستند، می‌تواند بسیار مفید باشد.

ساختار اصلی کد بر پایه دو مفهوم مهم "صف لینک‌ها برای بررسی" و "لینک‌های بازدیدشده" طراحی شده است. ابتدا آدرس اصلی سایت توسط کاربر وارد می‌شود، سپس برنامه این لینک را به صف اضافه کرده و شروع به بازدید از آن می‌کند. محتوای HTML هر صفحه توسط شیء MSXML2.ServerXMLHTTP دریافت می‌شود و لینک‌های داخل آن با استفاده از شیء htmlfile استخراج می‌گردند. تنها لینک‌هایی که به دامنه اصلی تعلق دارند وارد صف می‌شوند و در نتیجه از رفتن به سایت‌های خارجی جلوگیری می‌شود.

یکی از نکات مهم این کد، استفاده از ساختار زمان‌بندی Application.OnTime است که باعث می‌شود خزیدن به صورت مرحله‌به‌مرحله و با فاصله زمانی مشخص انجام شود. این تأخیر قابل تنظیم بوده و از طریق TextBox دوم در فرم (UserForm1) توسط کاربر تعیین می‌شود. به این ترتیب، می‌توان سرعت خزیدن را کنترل کرد تا فشار زیادی بر سرور سایت هدف وارد نشود و از بلاک شدن IP جلوگیری شود. همچنین در هر مرحله، لینک جدید در شیت اکسل با قالب‌بندی مناسب ثبت شده و ظاهر شیت نیز به‌صورت زیبایی طراحی شده است.

از قابلیت‌های جانبی این ابزار می‌توان به توقف خزیدن در هر لحظه اشاره کرد. با اجرای ماکروی StopCrawling، فرآیند خزیدن متوقف می‌شود و پیغامی برای کاربر نمایش داده می‌شود. علاوه بر این، اگر لینک ورودی خالی باشد یا خطایی در بارگذاری صفحات رخ دهد، کد دارای مدیریت خطا بوده و کاربر را مطلع می‌سازد. همچنین با اجرای ماکرو، در صورت وجود شیت قبلی با نام "Crawled Links"، آن شیت حذف و نسخه جدیدی با ساختار بهینه ایجاد می‌شود.

نمونه تصاویر در زمان اجرا

سورس کد خزنده وب (Web Crawler) در اکسل با VBA برای استخراج لینک‌های داخلی سایت 34

سورس کد خزنده وب (Web Crawler) در اکسل با VBA برای استخراج لینک‌های داخلی سایت 645

سورس کد خزنده وب (Web Crawler) در اکسل با VBA برای استخراج لینک‌های داخلی سایت 734

این کد VBA که برای اجرای آن به یک فایل اکسل و یک فرم به نام UserForm1 نیاز دارید، یک خزنده وب (Web Crawler) ساده را در محیط Excel پیاده‌سازی می‌کند. این خزنده با دریافت آدرس یک وب‌سایت، شروع به بازدید از صفحات لینک‌شده داخل آن می‌کند و تمام لینک‌هایی که به دامنه اصلی تعلق دارند را جمع‌آوری کرده و در یک شیت ذخیره می‌کند.


🎯 کاربرد کد

با استفاده از این ابزار می‌توانید:

  • لینک‌های داخلی یک وب‌سایت را جمع‌آوری کنید.

  • ساختار لینک‌دهی صفحات را بررسی نمایید.

  • داده‌های اولیه برای سئو یا تحلیل ساختار سایت جمع‌آوری کنید.


🧩 اجزای اصلی کد

1. متغیرهای سراسری

Dim http As Object, html As Object, links As Object, link As Object Dim url As String, baseUrl As String Dim visitedLinks As Collection, queue As Collection Dim ws As Worksheet, rowCounter As Long Dim nextRun As Date, t As Integer

این متغیرها برای مدیریت صف لینک‌ها، بررسی لینک‌های بازدیدشده، زمان‌بندی، و ارتباط با وب استفاده می‌شوند.


2. تابع Contains

Function Contains(col As Collection, key As String) As Boolean

بررسی می‌کند که آیا یک لینک قبلاً در مجموعه (Collection) اضافه شده یا نه. برای جلوگیری از بازدید تکراری لینک‌ها استفاده می‌شود.


3. زیرروال StopCrawling

Sub StopCrawling()

برای توقف خزیدن به صورت دستی با مقداردهی t = 0 استفاده می‌شود.


4. زیرروال StartCrawling

Sub StartCrawling()

شروع فرآیند خزیدن است. ابتدا آدرس سایت را از UserForm1.TextBox1 دریافت می‌کند، شیت قبلی را حذف کرده و یک شیت جدید با عنوان Crawled Links ایجاد می‌کند، سپس تابع CrawlNextLink را برای شروع خزش فراخوانی می‌کند.


5. زیرروال BeautifySheet

Sub BeautifySheet()

ظاهر شیت را زیبا می‌کند: تنظیم عرض ستون‌ها، رنگ‌بندی راه‌راه سطرها، قفل کردن ردیف اول، اعمال فیلتر و تنظیم رنگ عنوان.


6. زیرروال CrawlNextLink

Sub CrawlNextLink()

مهم‌ترین بخش کد. در هر مرحله:

  • یک لینک از صف (queue) برداشته می‌شود.

  • در صورتی که قبلاً بازدید نشده، با استفاده از MSXML2.ServerXMLHTTP.6.0 محتوای HTML دریافت می‌شود.

  • لینک‌های موجود در آن استخراج و به صف اضافه می‌شوند (در صورتی که به دامنه اصلی تعلق داشته باشند).

  • لینک فعلی در شیت ذخیره می‌شود.

  • اجرای مرحله بعدی خزیدن با استفاده از Application.OnTime و با تأخیر زمانی مشخص (از TextBox2) برنامه‌ریزی می‌شود.


🧪 پیش‌نیازها

  • ایجاد فرم UserForm1 با دو تکست‌باکس:

    • TextBox1: برای وارد کردن آدرس سایت (مثلاً https://example.com)

    • TextBox2: برای وارد کردن تأخیر بین خزش‌ها (بر حسب ثانیه)

  • فعال بودن مرجع Microsoft HTML Object Library برای تجزیه‌ی HTML (در صورت استفاده از htmlfile)

برای شما کاربران عزیز پیشنهاد دانلود داده می شود.

نظرات کاربران

کد امنیتی

لیست جدیدترین نظرات ارسال شده

فایل های که ممکن است نیاز داشته باشید

لیست فایل های ویژه وبسایت

دانلود-دیتابیس-تقویم-1404-در-اکسل
دانلود دیتابیس تقویم 1404 در اکسل

نرم-افزار-ترجمه-خودکار-فایل-های-po-,-pot-بصورت-کامل-برای-تمامی-زبان-ها-از-جمله-فارسی
نرم افزار ترجمه خودکار فایل های po , pot بصورت کامل برای تمامی زبان ها از جمله فارسی

دانلود-نرم-افزار-تبدیل-txt-به-vcf-:-برنامه-تبدیل-فایل-متنی-تکست-txt-به-وی‌سی‌اف-vcf-(Virtual-Contact-File-مخاطب-موبایل)
دانلود نرم افزار تبدیل txt به vcf : برنامه تبدیل فایل متنی تکست txt به وی‌سی‌اف vcf (Virtual Contact File مخاطب موبایل)

نرم-افزار-تغییر-زبان-سورس-کد-ویژوال-استودیو-(عناصر-دیزاین-طراحی-فرم-ها)
نرم افزار تغییر زبان سورس کد ویژوال استودیو (عناصر دیزاین طراحی فرم ها)

بهترین-سرویس-پوش-نوتیفیکیشن-(Web-Push-Notification)-اسکریپت-مدیریت-اعلان-و-ساخت-پوش-نوتیفیکیشن-سایت-و-ارسال-پوش-از-طریق-php
بهترین سرویس پوش نوتیفیکیشن (Web Push Notification) اسکریپت مدیریت اعلان و ساخت پوش نوتیفیکیشن سایت و ارسال پوش از طریق php

تعداد فایل های دانلود شده

39904+

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

1404/5/4

قدمت سایت فایل سحرآمیز

+8 سال

تعداد محصولات برای دانلود

2675+

دانلود فایل
🛒 چطور فایل را انتخاب و به سبد دانلود اضافه کنم؟
📖 نحوه دانلود کردن فایل از سایت
🗂️ آیا فایل‌ها با پسوند zip یا rar هستند؟
🔐 آیا فایل‌ها رمز عبور دارند؟
▶️ آیا بعد از دانلود می‌توانم فایل‌ها را اجرا کنم؟
📜 قوانین کلی سایت برای دانلود فایل‌ها چیست؟
📥 بعد از دانلود فایل
❗ اگر پرداخت موفق بود ولی نتوانستم دانلود کنم؟
🔄 چگونه لینک دانلود را بازیابی کنم؟
👤 آیا می‌توانم از حساب کاربری دانلود کنم؟
🔢 محدودیت دانلود هر فایل چند بار است؟
⏳ لینک دانلود تا چند روز فعال است؟
📧 اگر ایمیل اشتباه وارد کنم چه می‌شود؟
💳 مشکل پرداخت
🌐 اگر هنگام وصل شدن به درگاه مشکل داشتم؟
🔁 آیا درگاه پرداخت دوم وجود دارد؟
🚫 اگر پرداخت ناموفق بود چه کنم؟
💸 آیا مبلغ پرداخت شده قابل بازگشت است؟
📂 خراب بودن فایل
🧪 آیا فایل‌ها قبل از ارسال تست می‌شوند؟
❌ اگر فایل بعد از دانلود خراب بود؟
🕒 آیا پشتیبانی پس از 3 روز وجود دارد؟
🗃️ نحوه باز کردن فایل
📦 فایل‌ها به چه صورت فشرده هستند؟
🔑 آیا فایل‌ها پسورد دارند؟
🧰 با چه نرم‌افزاری فایل‌ها را باز کنم؟
🛠️ آیا فایل‌ها قابلیت ترمیم دارند؟
✏️ درخواست ویرایش فایل
🧑‍💻 آیا سایت پشتیبانی برای ویرایش دارد؟
🔄 اگر نیاز به تغییر فایل داشتم؟
📩 آیا درخواست‌های ویرایش پاسخ داده می‌شود؟
💰 مالی
↩️ آیا امکان برگشت وجه وجود دارد؟
📃 قوانین بازگشت مبلغ چگونه است؟
💼 آیا مبلغ شامل هزینه پشتیبانی می‌شود؟
🛠️ فنی
🎓 آیا پشتیبانی شامل آموزش نصب می‌شود؟
⏱️ زمان پاسخگویی پشتیبانی چقدر است؟
⚠️ اگر کاربر ادب را رعایت نکند؟
📌 چه مواردی شامل پشتیبانی نمی‌شوند؟
🧾 آیا اطلاعات کاربران ممکن است تغییر کند؟
🚀 نحوه اجرای فایل‌ها
🐘 نحوه اجرای فایل‌های PHP
💻 نحوه اجرای فایل‌های VB.NET و C#
📱 نحوه اجرای سورس‌کدهای B4A
📊 نحوه اجرای فایل‌های Excel
📁 نحوه اجرای فایل‌های Access
🗄️ نحوه اجرای فایل‌های SQL
🌐 نحوه اجرای سورس‌کدهای HTML/CSS/JS
📄 نحوه اجرای فایل‌های متنی و PDF

راهنمایی 🎧 پشتیبانی سایت MagicFile.ir

👋 سلام و وقت بخیر!

به سامانه 🎧 راهنمایی سایت MagicFile.ir خوش آمدید! 🌟
اینجا می‌تونید به‌راحتی پاسخ سوالات خودتون رو پیدا کنید، یا اگر مشکلی در دانلود، پرداخت دارید، براحتی از بین گزینه ها مشکل خود را انتخاب کنید تا توضیحات را دریافت نمایید! 🧑‍💻💡

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

اگر سوالی دارید، همین حالا بپرسید! 😊

📞 برای دریافت کمک مستقیم، به پشتیبانی سایت مراجعه کنید.
هم‌اکنون