Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

2건의 글

PHP simplexml로 XML 파일 파싱하기

PHP의 simplexml_load_file 함수로 XML 파일을 읽어 특정 노드 값을 가져오는 방법이다. 그누보드 환경에서 cd_catalog.xml 파일을 로드하고, $xml->CD[1]->TITLE처럼 객체 경로로 접근해 원하는 요소의 데이터를 출력하는 예제를 보여준다. XML 파싱 결과를 확인하는 print_r2 활용법도 포함한다.

<?
include_once('./_common.php');

$xmlfile = "./cd_catalog.xml";
$xml = simplexml_load_file($xmlfile);

$data = $xml->CD[1]->TITLE;
echo $data;
print_r2($xml);
?>

PHP로 인스타그램 해시태그 이미지 파싱해오기

PHP의 cURL 함수로 인스타그램 태그 페이지(explore/tags/태그명/?__a=1)를 요청해 해시태그 게시물의 이미지 정보를 파싱하는 방법이다. 태그명과 가져올 개수를 지정하면 graphql 응답에서 shortcode와 thumbnail_src를 꺼내 원본 이미지 링크를 출력한다. 간단한 파싱 예제 코드를 제공한다.

function scrape_insta_hash($tag) {
$url = 'https://www.instagram.com/explore/tags/'.$tag.'/?__a=1';
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$insta_source = curl_exec($ch);
$insta_array = json_decode($insta_source, TRUE);
return $insta_array;
}
$tag = '공양이'; // 태그 명
$limit = 16; // 가져 올 개수
$results_array = scrape_insta_hash($tag);
$image_array= array();
for ($i=0; $i < $limit; $i++) {
$latest_array = $results_array['graphql']['hashtag']['edge_hashtag_to_media']['edges'][$i]['node'];
$image_data  = '<a href="https://www.instagram.com/p/'.$latest_array['shortcode'].'" target="_blank"><img src="'.$latest_array['thumbnail_src'].'"></a>'; // thumbnail and same sizes
array_push($image_array, $image_data);
}
foreach ($image_array as $image) {
echo $image;
}


Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.