1

我已经拥有的抓取代码不起作用,所以我搜索并发现我需要使用 DOM,即使在阅读之后我也不确定如何实现我已经拥有的 DOM。我担心弄坏东西。非常感谢任何帮助/教程。

// get input
$link = post('link1');
$category = post('category');
$time = post('time');

// markers
$findme1 = 'https://www.mturk.com/mturk/preview?groupId=';
$findme2 = '<span class="reward">';
$findme3 = '</span>';

// check if link is correct
$rightlink = strpos($link, $findme1);
// if link is correct
  if ($rightlink !== false)
{
    // get html from link
    $html = file($link);

    // iterate through html
    foreach ($html as $i => $line)
    {
        // set title
        if($i == 640) $title = htmlentities($line);

        // set requester
        if($i==669) $requester = htmlentities($line);

        if($i==678)
        {
            // modify the line and save as reward
            $line_modified = str_replace($findme2, '', $line);
            $line_modified = str_replace($findme3, '', $line_modified);
            $reward = htmlentities($line_modified);
        }

        // set qualifications
        if($i==711) $q = htmlentities($line);
    }
4

1 回答 1

0

试试PHP Simple HTML DOM Parser,它会让你的生活变得轻松,阅读文档并做任何你想做的事情。如果您熟悉,jQuery那么它已经在您的掌握之中。看下面给出的例子

include('simple_html_dom.php');
$html = file_get_html('https://requester.mturk.com/');
foreach($html->find('a') as $link){
    echo $link . '<br />';
}

该代码从 中获取所有数据并使用循环https://requester.mturk.com打印所有链接。foreach我认为代码是自我描述的。

于 2013-05-22T02:46:43.573 回答