我设法使用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;
我想要尝试的是获取此HTML并将其保存到mySQL数据库。因此,在数据库中我将有四列:
HTML布局将始终保持不变。我的其他数据库包含网址的id
个。我可以用变量替换id=1
,这样我就可以设法保存多个网页数据。
如果id
不存在,我唯一担心的是。如果它找不到它正在寻找的HTML,是否可以跳过该页面?
我之前从未这样做过,所以我有点不知所措。甚至可以这样做吗?
基本上,我只想将DomParser中的数据保存到我的数据库中。
编辑:由于没有答案,我认为我们需要系统地解决这个问题 - 首先我们应该尝试创建将数据保存到数据库的功能。
编辑2:我只是想 - 可能需要保存HTML的功能可以按标签分割HTMLDomParser的结果(&#39; strong&#39;,&#39; p& #39;等)并为每列创建一个变量然后保存。我想这里的问题首先是如何拆分HTML?
编辑3:由于我没有收到任何答案/建议,我猜这是非常复杂的。我仍然没有设法将HTML成功保存到我的数据库中。
答案 0 :(得分:0)
要检查ID是否对网站有效,我建议使用curl函数,所以如果$ url存在,请尝试获取数据(try and catch),如果数据有错误,请抓住并返回适当的响应或记录它并移动到下一个有效的URL。
您必须使用try中的单独函数格式化数据。
希望方法有所帮助,祝你好运。和平