AHMAD

ایران وب ادمین
عضو کادر مدیریت
ناظر انجمن
عضویت
28/1/15
ارسال ها
145
امتیاز
6
محل سکونت
Matt Cutts Office
وب سایت
www.rastana.com
سلام

امروز کد آماده ای براتون قرار میدم که با استفاده از اون میتونید یک وب کراولر (Web Crawler) ساده ایجاد کنید.

این Web Crawler با زبان پایتون نوشته شده و با استفاده از اون می تونید تمام اطلاعات یک وب سایت مانند صفحات مختلف ، عکس ، فیلم ، موزیک و .. را دانلود کنید.

کد:
import sys, thread, Queue, re, urllib, urlparse, time, os, sys
dupcheck = set() 
q = Queue.Queue(100)
q.put(sys.argv[1])
def queueURLs(html, origLink):
    for url in re.findall('''<a[^>]+href=["'](.[^"']+)["']''', html, re.I):
        link = url.split("#", 1)[0] if url.startswith("http") else '{uri.scheme}://{uri.netloc}'.format(uri=urlparse.urlparse(origLink)) + url.split("#", 1)[0]
        if link in dupcheck:
            continue
        dupcheck.add(link)
        if len(dupcheck) > 99999:
            dupcheck.clear()
        q.put(link)
def getHTML(link):
    try:
        html = urllib.urlopen(link).read()
        open(str(time.time()) + ".html", "w").write("" % link  + "\n" + html)
        queueURLs(html, link)
    except (KeyboardInterrupt, SystemExit):
        raise
    except Exception:
        pass
while True:
    thread.start_new_thread( getHTML, (q.get(),))
    time.sleep(0.5)

کدهای بالا را در فایلی با نام دلخواه مثلا iranwebadmin-crawler.py ذخیره کنید.

حالا کافیه یک url به عنوان نقطه شروع به این برنامه بدین و منتظر باشید تا این کراولر کار خودش رو انجام بده و تمامی اطلاعات وب سایت مد نظرتون رو دانلود کنه

برای این کار دستور زیر را در کنسول تایپ کنید :

کد:
python iranwebadmin-crawler.py http://domainname.com/

به جای domainname.com آدرس مد نظر خود را قرار دهید.



موفق باشید.



.
 

shahrzad9999

عضو تایید شده
کاربر انجمن
عضویت
26/11/17
ارسال ها
1
امتیاز
1
سن
28
سلام میشه کد رو توضیح بدید .
سپاس
 

kian

عضو تایید شده
کاربر انجمن
عضویت
22/5/18
ارسال ها
1
امتیاز
1
سن
43
سلام وقتی کد و اجرا میکنم رو ماژول ها خطا میده
 

سهیلا

عضو تایید شده
کاربر انجمن
عضویت
29/11/18
ارسال ها
1
امتیاز
1
سن
94
سلام این کد در کدام نسخه قابل اجرا هست چون هر چه در پایتون 2.7 نوشته می شه در هنگام اجرا error در قسمت 2.7 می دهد که روی قسمت 7 این خطا را می دهد لطفا راهنمایی بفرمایید
 
بالا