2011-11-29 129 views
0

請問誰知道如何將這個內容導入到mysql數據庫?從HTML文件(帶嵌入式JavaScript)導入數據到MySQL數據庫

我想從這個HTML獲取數據到數據庫中。我有5000個這樣的文件,我想導入它們。問題在於文件中存在嵌入式JavaScript。請看這封郵件底部的HTML內容。

我曾看過simple_html_dom,但我無法弄清楚如何正確使用它。

在此先感謝。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 

<head> 
    <title></title> 
    <meta name="GENERATOR" content="Quanta Plus"> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
</head> 
<body> 


<div id="company_record"> 
    <div class="comp_record_left"> 
      <H1>Company name</H1> 
      <b>Contact:</b> Contactpersoon naam<br/> 
      <b>Address:</b> Adresstraatname 43<br/> 
      <b>Zipcode:</b> 4444 ZC<br/> 
      <b>City:</b> Placename<br/> 
      <b>Email:</b> 
<script language='JavaScript' type='text/javascript'> 
<!-- 
var prefix = 'm&#97;&#105;lt&#111;:'; 
var suffix = ''; 
var attribs = ''; 
var path = 'hr' + 'ef' + '='; 
var encdd = 'm&#101;m&#97;&#105;l&#97;dr' + '&#64;'; 
encdd = encdd + 'h&#111;tm&#97;&#105;l' + '&#46;' + 'c&#111;m'; 
encdd = encdd + 'h&#111;tm&#97;&#105;l' + '&#46;' + 'c&#111;m'; 
document.write('<a ' + path + '\'' + prefix + encdd + suffix + '\'' + attribs + '>'); 
document.write(enc); 
document.write('<\/a>'); 
//--> 
</script><script language='JavaScript' type='text/javascript'> 
<!-- 
document.write('<span style=\'display: none;\'>'); 
//--> 
</script>Dit e-mail adres is beschermd tegen spambots. U heeft Javascript nodig om het te kunnen zien. 
<script language='JavaScript' type='text/javascript'> 
<!-- 
document.write('</'); 
document.write('span>'); 
//--> 
</script> 
      <br/><br/> 
      <img src="/images/4000001_img.jpg" alt="Company name image alt"/><br/><br/><br/> 
      <b>Comments:</b> 
       Our comppany is wonderfull this is our services<br /> 
       service 1 <br /> 
       service 1 <br /> 
       service 1 <br /> 
       service 1 <br /> 
    </div> 
    <div class="comp_record_right"> 
      <div class="rating_block"> 
       <p class="item"> 
        Company: <span class="fn">Company name </span> 
       </p> 
       <span class="rating"> 
        Rating: <span class="average">5</span> (scale to 
       <span class="best">10</span>) 
       </span> 
       <span> After <span class="count">10</span> days.</span> 
      </div> 
    </div> 
</div> 
</body> 
</html> 
+0

如果您要解析JavaScript並將評估的DOM插入到數據庫中,這可能不是一種好的方法。改爲查看類似http://simile.mit.edu/wiki/Crowbar的內容。 – zrvan

+0

只是想記錄到數據庫中,包括其中的電子郵件地址..沒有看到如何使用Crowbar的..非常感謝你的時間.. –

+0

@GABRIELCIRSTEA simple_html_dom看起來不錯,探索dom,你可以輕鬆獲得具有特定類的任何節點。但是,使用它可以讓你輕鬆地列出所有的5000個文件,並且在它們之間有一致的內容。 – 2011-11-29 18:27:19

回答

0

如果你知道列出你所有的5000個文件的方式,並具有跨越他們洽內容,您可以使用simple_html_dom簡單,如:

// assuming you include that lib 
// $files contains file pathes 
for($files as $file) { 
    $html = file_get_html($file); 
    $text = $html->find('div.comp_record_left')->innerText(); 
    // here you need to parse... 
    // or you may want to find more specific elements in. 
} 

此代碼是遠離一個完整的解決方案,但它可以指出你在正確的方向。

+0

謝謝!我的問題是得到的電子郵件地址和其他領域.. h1作爲公司名稱我已經有..不會有問題,如果任何領域有他自己的類或ID ..但:-)無論如何非常謝謝你 –