繁体   English   中英

需要帮助来循环链接上的curl功能

[英]Need help to loop curl function over links

嗨,我很难循环使用卷曲功能并使工作自动化。

$ scrape_url是从页面获取链接的功能。 scrape_nextpage是一个获取“下一个”页面的URL的函数,在这里我将再次使用$ scrape_url,依此类推,到目前为止,我的代码是:

$url = "http://website.com";   

$results_page = scrape_url($url); 

 if ( $url !==scrape_nextpage($url) ) {

        $url = scrape_nextpage($url);

       $results_page = scrape_url($url);

我想遍历页面中找到的每个$ url(有点像通过分页)

到目前为止,我只获得前2页,而我需要获取其他页

更新:scrape_nextpage()是一个curl函数,可获取下一页的URL(例如:

scrape_nextpage()获取网址:“ website.com/next30post.html”;

因此在scrape_url($ url)中使用的新$ url变为“ website.com/next30post.html”。

然后我使用scrape_nextpage()获取同一页面,以获得“ website.com/next60post.html”; 等等 。

谢谢你的帮助

我认为您正在寻找这样的东西:

$url = "http://website.com";  
$results_page = scrape_url($url);  

while ($url !== scrape_nextpage($url))
{
    $url = get_nextpage($url);
    if (!$url) {
        break;
    }
    $results_page = scrape_url($url);
    // do something with $results_page
}

只要确保没有更多要检查的URL时, get_nextpage()返回FALSE或一个空字符串-就会中断while循环。

更新:

您的函数命名非常模糊。 目前还不清楚他们在做什么。 您想要清晰的名称。

例如,您需要一个函数get_content($url); 它采用某个页面的网址(例如, http://website.com )并返回该页面的HTML。 您需要的第二个功能是功能grab_links($html); 它将解析某些页面的HTML并返回您在其中找到的链接。 然后代码将是:

$list_of_urls = array(
    "http://website.com"
    );
foreach ($list_of_urls as $url)
{
    $html = get_content($url);
    $links = grab_links($html);
    // do something with $links
}

现在,这很清楚,并且可以轻松调试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM