이것은 스택에 대한 첫 번째 질문이므로 부적절한 것이 있으면 용서하십시오.
내가 추출하고 싶은 정보 목록이있는 웹 페이지가 있고, td 중 하나에도 있지만 액세스 권한을 얻는 방법에 대해 머리를 감쌀 수는 없습니다.
HTML 예 :
<tbody>
<tr>
<td>
19-10-2020 @ 17:33
</td>
<td class="hidden-xs hidden-sm">
<a href="#" data-identifier="5f8db1c332ea9b22d375b7c0"></a>
</td>
다음은 다른 TD를 추출하는 데 사용한 PHP 예제입니다.
$xpath = new DOMXpath($document);
foreach($xpath->evaluate('//table/tbody/tr') as $tr) {
enter code here
$i = 0;
$row = [];
foreach ($xpath->evaluate('td', $tr) as $td) {
if ($i == 0){
$row['datumtijd'] = date_format(date_create(str_replace(" @", "",trim($td->nodeValue))),"Y-m-d H:i:s");
}
if ($i == 1){
print_r($td->nodeValue); //Completely empty
}
어떤 도움이라도 정말 감사합니다.
데이터 추출에만 집중하고 (포맷 등이 아님) html이 아래와 같이 고정되어 있다고 가정하고 다음과 같이 시도해보십시오.
$str = '
<tbody>
<tr>
<td>
19-10-2020 @ 17:33
</td>
<td class="hidden-xs hidden-sm">
<a href="#" data-identifier="5f8db1c332ea9b22d375b7c0"></a>
</td>
</tr>
</tbody>
';
$doc = new DOMDocument();
$doc->loadHTML($str);
$doc = simplexml_import_dom($doc);
$dates = $doc->xpath('//td[1]');
$identifiers = $doc->xpath('//td/a[@href]/@data-identifier');
foreach(array_combine($dates, $identifiers) as $date => $identifier) {
echo trim($date) . "\n";
echo trim($identifier) . "\n";
}
산출:
19-10-2020 @ 17:33
5f8db1c332ea9b22d375b7c0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다