[英]Need help with a LOOP statement in a php curl function embedded with XML
[英]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.