csv로 웹사이트 가져오기 [닫기]

csv로 웹사이트 가져오기 [닫기]

wget웹사이트에 접속하여 테이블 내용을 넣을 수 있는 방법이 있나요 .csv?

아니면 cURLHTML이 포함된 숫자로 표 형식의 콘텐츠를 가져오도록 웹 페이지에 요청하는 것일 수도 있습니다 .csv.

답변1

PHP에는 클래스가 있습니다DOM 문서이를 사용하여 html을 검색하고 구문 분석할 수 있습니다.

이 코드는 웹페이지에서 행을 가져오고 추출합니다. 원하는 특정 프로젝트를 실행하는 데는 약간의 작업이 더 필요하지만, PHP를 배우고자 한다면 시작하는 데 도움이 될 것입니다.

<?php

$html = file_get_contents('http://currency.poe.trade/search?league=Prophecy&online=x&want=1&have=4');

$doc = new DOMDocument;
$doc->loadHTML($html);

$xpath = new DOMXpath($doc);
$rows = $xpath->query('//div[contains(@class, "row")]'); //instance of DOMNodeList
foreach ($rows as $row) {
    // var_dump($row);
    echo "Found {$row->nodeValue}";
}

위 코드를 복사해서 붙여넣으면 실행할 수 있습니다.이 온라인 PHP 인터프리터에서는 실행하면 다음과 같은 샘플 출력이 표시됩니다(잘림).

머니 마켓 발견 // 예언 ← 아이템 거래 프로팁으로 이동 화살표는 항상 지불하는 금액과 얻는 금액을 가리킵니다. (You Get ⇐ You Pay) 통화 검색 매장 관리 표시 검색 양식 리그 예언하드코어 예언표준하드코어 온라인 전용 끄기 무엇을 원하시나요? 당신은 무엇을 가지고 있습니까? 재설정....[추가 출력]

원하는 정보를 추출한 후에는 관심 있는 각 항목을 ,각 레코드에 대한 삽입 및 줄바꿈으로 구분하는 것만큼 간단하며 CSV 파일을 갖게 됩니다.

참고: 디버깅을 위해서는 HTML/XML 마크업 형식으로 DOM 요소를 덤프해야 합니다. 다음을 사용할 수 있습니다.

$xml = $domElement->ownerDocument->saveXML($domElement);

또는 대안적으로

$html = $domElement->ownerDocument->saveHTML($domElement);

추가 배경:
http://php.net/manual/en/class.domelement.php

관련 정보