如何使用PHP在web上抓取Wikipedia表?
我正在尝试刮除此表的不同字段: 我尝试使用API,但是,尽管我能够正确获取日期,但不同的列在返回的wikitext JSON中的格式不同。例如,php正则表达式会遗漏大量的事件标题。日期的格式是统一的,所以我可以拿到所有的罚款,但不幸的是没有其他 我试图使用DOM对象并查询HTML元素来获取数据,但一直遇到错误,老实说,我不太明白我在这里做什么 谢谢你的帮助,谢谢 以下是我目前正在尝试的代码:如何使用PHP在web上抓取Wikipedia表?,php,web-scraping,wikipedia,Php,Web Scraping,Wikipedia,我正在尝试刮除此表的不同字段: 我尝试使用API,但是,尽管我能够正确获取日期,但不同的列在返回的wikitext JSON中的格式不同。例如,php正则表达式会遗漏大量的事件标题。日期的格式是统一的,所以我可以拿到所有的罚款,但不幸的是没有其他 我试图使用DOM对象并查询HTML元素来获取数据,但一直遇到错误,老实说,我不太明白我在这里做什么 谢谢你的帮助,谢谢 以下是我目前正在尝试的代码: <?php $dom = new DomDocument; $dom->loadHtml
<?php
$dom = new DomDocument;
$dom->loadHtmlFile('https://en.wikipedia.org/wiki/List_of_UFC_events');
$xpath = new DomXPath($dom);
// collect header names
$headerNames = array();
foreach ($xpath->query('//table[@id="Past_events"]//th') as $node) {
$headerNames[] = $node->nodeValue;
}
// collect data
$data = array();
foreach ($xpath->query('//tbody[@id="Past_events:tbody_element"]/tr') as $node) {
$rowData = array();
foreach ($xpath->query('td', $node) as $cell) {
$rowData[] = $cell->nodeValue;
}
$data[] = array_combine($headerNames, $rowData);
}
print_r($data);
?>
看起来您需要先使用CURL…在该站点搜索与使用CURL获取html/远程html内容有关的内容