Laravel - 保存HTML Dom-Parser响应数据库

时间:2017-09-28 20:51:12

标签: php html mysql laravel dom

我设法使用HTMLDomParser(http://simplehtmldom.sourceforge.net/)从网站上获取一些HTML:

$html = HtmlDomParser::file_get_html('https://example.com/id=1');

这导致以下HTML:



<p> ANDE 2, the Atmospheric Neutral Density Experiment 2, is a pair of microsatellites (Castor and Pollux) launched from Cape Canaveral on STS 127 on 15 July 2009 at 22:03 UT and deployed from the payload bay of the shuttle on 30 July 2009 at 17:22 UT.</p>
<p><strong>Launch Date:</strong> 2009-07-15<br/><strong>Launch Vehicle:</strong> Shuttle<br/><strong>Launch Site:</strong> Cape Canaveral, United States<br/></p>
&#13;
&#13;
&#13;

我想要尝试的是获取此HTML并将其保存到mySQL数据库。因此,在数据库中我将​​有四列:

  • 描述
  • 发布日期
  • 运载火箭
  • 启动网站

HTML布局将始终保持不变。我的其他数据库包含网址的id个。我可以用变量替换id=1,这样我就可以设法保存多个网页数据。

如果id不存在,我唯一担心的是。如果它找不到它正在寻找的HTML,是否可以跳过该页面?

我之前从未这样做过,所以我有点不知所措。甚至可以这样做吗?

基本上,我只想将DomParser中的数据保存到我的数据库中。

编辑:由于没有答案,我认为我们需要系统地解决这个问题 - 首先我们应该尝试创建将数据保存到数据库的功能。

编辑2:我只是想 - 可能需要保存HTML的功能可以按标签分割HTMLDomParser的结果(&#39; strong&#39;,&#39; p& #39;等)并为每列创建一个变量然后保存。我想这里的问题首先是如何拆分HTML?

编辑3:由于我没有收到任何答案/建议,我猜这是非常复杂的。我仍然没有设法将HTML成功保存到我的数据库中。

1 个答案:

答案 0 :(得分:0)

要检查ID是否对网站有效,我建议使用curl函数,所以如果$ url存在,请尝试获取数据(try and catch),如果数据有错误,请抓住并返回适当的响应或记录它并移动到下一个有效的URL。

您必须使用try中的单独函数格式化数据。

希望方法有所帮助,祝你好运。和平