Development

[Crawler] 특정 값 파싱 안될 때(ex. 작성자)

곽진돔 2022. 1. 3. 15:13

특정 값 안나올 때 (ex. 작성자, 날짜 등)

사이트내의 `network`에 검색했을 때도 안나오는 값일 경우,

정상적으로 웹 파싱이 안되어서 값을 못불러오는 경우 일 수 있음.

 

그럴 경우 파싱넘겨주는 값을 수정한다

1. `path` 추가

2. `user-agent` 변경 (4.0 => 5.0)

3. `cookie`값 추가

 

해주었더니 정상적으로 모든 값이 파싱됨.

$strParseContent	= "";
$strParseContent	.= "GET"; // POST, GET 선택
$strParseContent	.= " {$strParseSubURL} HTTP/1.0\r\n";	// 도메인이외의 파라미터값.
$strParseContent	.= "Host:{$strParseHost}\r\n";	// "http://" 제거한 도메인
$strParseContent	.= "path: {$strParseSubURL}\r\n";
$strParseContent	.= "Content-Type: text/html;charset=UTF-8\r\n";
$strParseContent	.= "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36\r\n";
$strParseContent	.= "cookie: evercookie_png=164082700721922; evercookie_etag=164082700721922; evercookie_cache=164082700721922; PHPSESSID=646b20ebe838ea0b17e759ea8cfdc40e; f33d2ed86bd82d4c22123c9da444d8ab=MTY0MDgyNjk4OQ%3D%3D; 96b28b766b7e0699aa91c9ff3d890663=aHR0cDovL3dvcms0cmVjaGVja2VyLmJ1enptZXRyaXguY28ua3Iv; timezone_offset=-540; PHPSESSID=646b20ebe838ea0b17e759ea8cfdc40e; _ga=GA1.2.1575508080.1640827008; _gid=GA1.2.1495816672.1641171444; evercookie_etag=164082700721922; evercookie_cache=164082700721922; uid=164082700721922\r\n";	
$strParseContent	.= "Connection: close\r\n\r\n";
//$strHtmlBody		= Connect($strParseHost, $strParseContent);
$strHtmlBody = Connect_Https("ssl://{$strParseHost}", $strParseContent);
//print_r($strHtmlBody);
//exit;