PHP网络爬虫,数据结构和存储,它是否可以与PHPCrawl一起使用?

时间:2011-11-18 04:46:18

标签: php web-crawler phpcrawl

如果要编写其他类来执行此操作,链接将非常棒。如果没有,我怎么能用PHPCrawl做到这一点?

是否可以根据特定于网站的一组规则存储来自已抓取网站的特定信息?例如,[div.wantThis, img#defaultPicture]是为站点A返回的数组,只有[div.shortTextContent]是为站点B返回的数组?

在PHPCrawl中,如何从$page_data数组中获取此信息?

需要

必须只能定位某些元素。

能够从变量中读取数据存储规则(可以是指定要定位的元素的数组)。

1 个答案:

答案 0 :(得分:0)

您要问的是如何使用PHPCrawl解析来自站点A的特定内容和来自站点B的一些其他特定内容。

对于特定于站点的解析样式,可以遵循if-else方法:

for url in urls:
    content = crawl(url)
    if(url of type 1?):
        extract_style1(content)
    else-if(url of type 2?):
        extract_style2(content)
    else:
        extract_styledefault(content)


对于特定内容提取,可以使用以下算法:

注意:有一系列解析技术可供使用,我在这里实践 HTML DOM解析 ..

// Create DOM from your PHP Crawl Data Source
$html = $page_data[source]

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';

参考:

HTML DOM
PHPCrawl Example