【问题标题】:Importing data from an HTML file (with embedded JavaScript) into MySQL database将数据从 HTML 文件(嵌入 JavaScript)导入 MySQL 数据库
【发布时间】:2011-11-29 17:20:22
【问题描述】:

请问谁知道如何将此内容导入 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>

【问题讨论】:

  • 如果您要解析 JavaScript 并将评估后的 DOM 插入数据库,那么这可能不是正确的方法。请改用simile.mit.edu/wiki/Crowbar 之类的内容。
  • 只想将记录放入数据库,包括其中的电子邮件地址.. 不知道如何使用 Crowbar .. 非常感谢您的时间..
  • @GABRIELCIRSTEA simple_html_dom 看起来很适合探索 dom,您可以轻松获取具有特定类的任何节点。但是使用它假设您可以轻松列出所有 5000 个文件,并在它们之间拥有一致的内容。

标签: php javascript mysql domdocument


【解决方案1】:

如果您知道列出所有 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.
}

这段代码远不是一个完整的解决方案,但它可以为您指明正确的方向。

【讨论】:

  • 谢谢!!我的问题是获取电子邮件地址和其他字段.. h1 作为我已经拥有的公司名称.. 如果任何字段都有自己的类或 id .. 不会有问题.. 但是:-) 无论如何非常感谢你
猜你喜欢
  • 2017-01-13
  • 2013-07-01
  • 2014-04-11
  • 2012-11-22
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2015-05-21
相关资源
最近更新 更多