آژانس هواپیماییexchanging

تجزیه و تحلیل صفحه

شروع موضوع توسط alimosavifard ‏20 آگوست 2010 در انجمن PHP

  1. alimosavifard

    alimosavifard Registered User

    تاریخ عضویت:
    ‏17 جولای 2006
    نوشته ها:
    1,841
    تشکر شده:
    28
    محل سکونت:
    MA
    سلام

    می خوام یک صفحه متنی رو تحلیل کنم و چیزهایی که داخل یک کلاس HTML هست رو داخل یک متغییر قرار بدم .

    چطور می شه همچین کاری کرد ؟
     
  2. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    به این کار میگن scraping. معمولاً با عبارات باقاعده (regex) انجام میشه. سر نخ رو دادم فکر کنم بقیشو خودت باید بری دنبالش.
     
  3. alimosavifard

    alimosavifard Registered User

    تاریخ عضویت:
    ‏17 جولای 2006
    نوشته ها:
    1,841
    تشکر شده:
    28
    محل سکونت:
    MA
    تشکر . کمک کردید .

    فکر می کنید این بهترین راه هست ؟
    روی نتایج چطور کار کنم که محدود به یک کلاس بشه ؟
    PHP:
    [LEFT]function get_content($url)  
    {  
       
    $ch curl_init();  
      
       
    curl_setopt ($chCURLOPT_URL$url);  
       
    curl_setopt ($chCURLOPT_HEADER0);  
      
       
    ob_start();  
      
       
    curl_exec ($ch);  
       
    curl_close ($ch);  
       
    $string ob_get_contents();  
      
       
    ob_end_clean();  
         
       return 
    $string;      
      
    }  

    $content get_content("persiantools.com");[/LEFT]
     
  4. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    این کدی که گذاشتی فقط خوندن صفحه رو انجام میده. چند تا خطا داری مثلاً //:http رو نذاشتی. یا دلیلی نداره از بافرینگ استفاده کنی (به جاش CURLOPT_RETURNTRANSFER رو یک بذار و خروجی curl_exec رو بگیر).

    درواقع برای این کار راههای مختلف هست مثلاً اگه ارسال اطلاعات و کوکی و لاگین و این چیزا نداری، ورژن php بالای 5 باشه و سرور پورتها رو نبسته باشه همین یک خط همه کارها رو انجام میده:
    کد:
    $html = file_get_contents('http://...');
    از توایع fsock هم میتونی واسه این کار استفاده کنی. اگه از curl میخوای استفاده کنی یک راه استفاده از کلاسهاست که کار رو راحت تر میکنن مثل http://www.phpclasses.org/package/1988-PHP-cURL-extension-wrapper-access-remote-Web-resources.html

    بعدش باید مقادیر رو از صفحه دربیاری که میتونی با strpos و substr کار کنی یا عوضش از regex ها استفاده کنی که خیلی قدرتمندتر هستند.
     
  5. alimosavifard

    alimosavifard Registered User

    تاریخ عضویت:
    ‏17 جولای 2006
    نوشته ها:
    1,841
    تشکر شده:
    28
    محل سکونت:
    MA
    کلا تشکر از شما . همین راهنمایی های اجمالی که کردید کمکم کرد در تکمیل این دوتا پروژه :
    continuously.co.uk و boultan.com