2011-11-29 127 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 ..但:-)无论如何非常谢谢你 –