2

これを行うために書かれた他のクラスがある場合、リンクは素晴らしいでしょう。そうでない場合、どうすれば PHPCrawl でそれを行うことができますか?

サイト固有の一連のルールに基づいて、クロールされたサイトから特定の情報を保存することは可能ですか? 例[div.wantThis, img#defaultPicture]: サイト A に[div.shortTextContent]は配列が返され、サイト B には配列のみが返されますか?

$page_dataPHPCrawl では、配列からこの情報を取得するにはどうすればよいですか?

ニーズ

特定の要素のみをターゲットにできる必要があります。

変数からデータ ストレージ ルールを読み取ることができます (ターゲットにする要素を指定する配列である可能性があります)。

4

1 に答える 1

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)


特定のコンテンツ抽出に は、次のアルゴリズムを使用できます:

注:さまざまな解析手法が利用可能です。

// 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 の例

于 2011-11-29T09:30:08.040 に答える