PHP:如何从网站源页面提取内容或刮取数据集

时间:2011-10-25 04:13:19

标签: php database dataset scrape

我想知道如何使用php从网站上删除源代码的内容。我尝试过使用http://simplehtmldom.sourceforge.net/并查看How do you parse and process HTML/XML in PHP?我仍然很难从源代码中获取信息。正如您所看到的,源代码的主页包含作者的链接列表,其中包括年份和书写的数量。

<div id="fleft">
    <ul>
    <li><a href="http://www.books.com/john-smith/index.html">John Smith (2011-2012)</a> : 11 books
    <li><a href="http://www.books.com/bobby-bob/index.html">Bobby Bob (2011-2012)</a> : 89 books
    ....
    </ul>
    </div>

我点击约翰史密斯,它会打开约翰史密斯所写的书籍清单。

 <h1>John Smith (11 Books)</h1>
    <div id="fleft">

    <ul>
    <li><a href="http://www.books.com/john-smith/best-book.html">Best Book</a>
    <li><a href="http://www.books.com/john-smith/other-best-book.html">Other Best Book</a>
....
    </ul>
    </div>

我点击其中一本书“最佳书”,它会显示书的标题和本书的全部故事。

<div id="bookbox">
<h1>Book : Best Book</h1>

<h2>Aurther : John Smith</h2>
<pre>
story of the best book......
.......
....
the end
</pre>

我希望能够获取所有作者姓名及其年份,书籍列表以及书籍内容。实际上是数据集。有人可以帮助我或向我展示PHP的代码示例,以实现这一目标。我想创建一个包含所有作者姓名,生命年份,他们创建的书籍,书名,类别,书籍内容等信息的数据库

1 个答案:

答案 0 :(得分:1)

你应该提一下你用什么方法来获取目标页面的html,我想你在$ targetHTML变量中有html的目标页面

你可以在这样的dom中加载它

/*********** Load In Dom *********/
$html = new DOMDocument;
$html->loadHTML($targetHTML);
$xPath = new DOMXPath($html);
/*********** Load In Dom *********/

您可以使用xpath从dom中加载的html中获取所需数据。

如果您使用此方法,则可以显示代码以找出问题。

此致