3
Я пытаюсь очистить таблицу с помощью PHP, дело в том, что мне удалось ее очистить, но я получаю все на странице веб-страницы. Я не уверен, как я укажу, какие TD и/или TR я хочу очистить.Scrape specific <td> в таблице HTML
Вот код PHP
<?php
include("simple_html_dom.php");
$html=file_get_html("http://www.premierleague.com/en-gb/matchday/league-table.html");
$html=new simple_html_dom($html);
foreach($html->find('table tr') as $row) {
$cell = $row->find('td', 0);
echo $row;
}
?>
То, что я хочу, чтобы получить (если смотреть the website) является: название клуба, играли, выиграл, проиграл, цели для, целей против, разница мячей, и очков.
То, что я получаю, это все, что есть в таблице, включая информацию о сворачиваемой команде. Похоже, что это (не уверен, если изображение является лучшим способом, чтобы отправить его, но я не знаю, как показать это по-другому, я выделил ту часть, которую я на самом деле хочу соскабливают):
Существуют ли определенные идентификаторы, связанные со строками таблицы? – Rehmat
Да, но у каждого из них разные имена, классы
ответ
Вы пробовали посмотреть на расширенное использование Simple HTML DOM Parser?
Я написал это на основе руководства по приведенной выше ссылке; он может получить вас в правильном направлении:
По сути, вы хотите, чтобы все
<tr>
элементы, которые имеют классclub-row
(добавление.
указывает класс); кроме того, вам нужны только строки, которые вложены в<table>
с классомleagueTable
. Это то, что делает первая находка. Пространство после таблицы указывает, что вы хотите его потомков.Далее вы хотите, чтобы
<td>
элементов, которые вы упомянули о различных классах. Вы можете разделить их запятой на «и». (Дайте мне td.col-клуб И td.col-р И ...)В
foreach
петли просто ходить через эти разобранные элементы DOM и добавление их InnerText в массив. После этого вы можете делать все, что захотите.источник
2015-11-16 14:50:38
Спасибо за ответ, возможно, слишком свеж для простой HTML DOM, чтобы понять этот код, я посмотрю и попробую его в любом случае! – smokeyblunts
Просто посмотрел на отредактированную версию, также отлично работает! огромное спасибо. – smokeyblunts
Я только что протестировал и обновил свой ответ. Взгляните и попробуйте! –
Может быть, немного обойти это решение может привести к вашим результатам. Я пробовал для класса, и он извлекает результаты для одной строки. Проверьте, если это решение, которое вы ищете:
источник
2015-11-16 14:37:37 Rehmat
Спасибо за ответ! Работал как шарм. – smokeyblunts
Это то, что я хотел бы сделать
EDIT: проникающую часть:
EDIT: Забыли экстрагирование внутренний текст ~
источник
2015-11-16 14:43:25 Elentriel
Спасибо за ответ, есть ли способ, которым я могу повторить это и посмотреть, как он выглядит? – smokeyblunts
часть var_dump будет отражать все, правый исходный код щелчка мыши в вашем браузере, чтобы увидеть, что выходной файл также добавил, как перебирать массив через массив. – Elentriel
Хорошо, я забыл фактически извлечь внутренний текст и просто поместить весь объект в массив, теперь это должно сделать трюк – Elentriel
Смежные вопросы