2013-05-11 99 views
0

我有一个解析页面的23页并获取目录名称的脚本,但连接重置并超时。是因为这个嵌套foreachloop for for循环吗?For循环嵌套的Foreach循环问题

<?php 

header('Content-type: text/html; charset=utf-8'); // this just makes sure encoding is  right 
include('simple_html_dom.php'); // the parser library 

// you were trying to parse the wrong link.. your previous link did not have <div> tag with commentText class .. I chose a random link.. choose link for whichever professor you like or grab the links of professor from previous page store it in an array and loopr through them to get comments 
$i=1; 
for($i; $i < 23;$i++){ 
$html = file_get_html("http://www.ratemyprofessors.com/SelectTeacher.jsp?sid=834&pageNo=$i"); // the url for the teacher rating profile 

//your div tag has class "comment" not "commentText" 
foreach($html->find("div[class=profName]") as $content){ 
echo $content->plaintext; 
echo "<br >"; 
    } 
} 


?> 
+0

将set_time_limit(0)用于循环 – 2013-05-11 04:27:37

+5

如果连续23次请求,那么可能会使您的IP被黑掉。 – 2013-05-11 04:30:17

+0

你建议我做什么来检索这些记录? – Squirtle 2013-05-11 04:32:30

回答

0

我建议你使用YQL, 这是相当快,并会阻止你的IP从得到列入黑名单...

与PHP中使用它很简单 - look here

祝你好运!