익명 ·
2023.07.15 ·
조회 44,455
php, gzip을 이용한 웹사이트 크롤러 (크롤링 프로그램)
<p></p><p></p><p></p><p>미리보기: <del>지원 종료됨</del></p><p><br></p><p>입력한 웹사이트의 이미지,html,css,js,모든 link를 크롤링하며, 크롤링한 링크는 link.txt에 저장됩니다.</p><p>Produced by Tak2을 되도록이면 삭제하지 말아주세요<br></p><p><br></p><p> function getDomain($url) {</p><p> $parsedUrl = parse_url($url);</p><p> return $parsedUrl['scheme'] . '://' . $parsedUrl['host'];</p><p><br></p><p>을</p><p><br></p><p>function isCrawlingAllowed($url) {</p><p> $parsedUrl = parse_url($url);</p><p> $robotsUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . '/robots.txt';</p><p><br></p><p> $robotsContent = @file_get_contents($robotsUrl);</p><p> if ($robotsContent === false) {</p><p> return true; // robots.txt 파일이 없는 경우 크롤링 허용</p><p> }</p><p><br></p><p> $allow = true;</p><p> $disallowPaths = array();</p><p> $lines = explode("\n", $robotsContent);</p><p> foreach ($lines as $line) {</p><p> if (strpos($line, 'Disallow:') === 0) {</p><p> $disallowPath = trim(substr($line, strlen('Disallow:')));</p><p> if (!empty($disallowPath)) {</p><p> $disallowPaths[] = $disallowPath;</p><p> }</p><p> }</p><p> }</p><p><br></p><p> // 확인하려는 경로가 Disallow 경로인지 체크</p><p> foreach ($disallowPaths as $path) {</p><p> if (strpos($url, $path) !== false) {</p><p> $allow = false;</p><p> break;</p><p> }</p><p> }</p><p><br></p><p> return $allow;</p><p><br></p><p>로 수정해야 합법적으로 크롤링 할 수 있습니다.</p><p><br></p><p>*업데이트 버전:<a href="https://dsclub.kr/bbs/board.php?bo_table=code&wr_id=297" style="font-family: "Helvetica Neue", sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);">https://dsclub.kr/bbs/board.php?bo_table=code&wr_id=297</a></p><p></p><p></p>