我有一个包含多个链接的页面,每个链接指向包含表格详细信息的新页面。我想存储原始页面中的所有链接,并从每个链接(页面)中删除表格数据。 所以:
OriginalPage -|- Link1 -> TableData
|- Link2 -> TableData
|- Link3 -> TableData
我成功从原始页面中提取链接,并从一个链接中提取表格数据,但我不知道如何制作循环以立即从所有链接中提取数据。 所有链接都有一个简单的模式,所有页面都有相同的表(但不同的数据)。 这就是我所拥有的:
$city1 = file_get_html('http://www.xxxx.xx/sl/cities/city1');
// Get links from page that contain word "info" and extract date from URL (date is important)
//Example link on original page: http://www.xxxx.xx/sl/cities/info-onday-19-05-2017-d"
foreach($city1->find('a[href]') as $link){
if(strstr($link, 'info')){
preg_match('#onday (.*?). #', $link, $match);
$date = $match[1];
}
}
//Get table data from one link
$city1DetailsUrl = "http://www.xxxx.xx/sl/cities/info-onday-".$date."-d";
$city1Details = file_get_html($city1DetailsUrl);
$table = $city1Details->find('table', 0);
$rowData = array();
foreach($table->find('tr') as $row) {
// initialize array to store the cell data from each row
$info = array();
foreach($row->find('td') as $cell) {
// push the cell's text to the array
$info[] = $cell->plaintext;
}
$rowData[] = $info;
}
foreach ($rowData as $row => $tr) {
foreach ($tr as $td) {
echo $td .'<br>';
}
}
摘要:在原始页面上查找包含某些字词(info)的链接,每个链接(页面)的剪贴簿表数据。