상세 컨텐츠

본문 제목

웹페이지의 외부 URL 리스트 확인 방법 with 파이썬

Python

by mp.jamong 2020. 11. 13. 08:34

본문

 

웹페이지 내에 존재하는 외부 URL 리스트 확인이 필요한 경우가 있습니다. 첫번째 이유는 외부 URL 리스트가 많아서 궁금한 경우가 있고, 두번째 이유는 외부 URL이 정상적인 URL인지 확인이 필요할 때가 있습니다. 외부 해킹 시도로 웹페이지내 삽입된 URL 인 경우도 있기 때문에 안전한 웹사이트 관리를 위해 웹페이지 내 외부 URL 리스트의 정상 유무를 확인하면 좋습니다.

 

이번 포스팅에서는 웹페이지의 외부 URL 리스트 확인 방법에 대해 소개하고, 파이썬을 이용하여 보다 쉽게 외부 URL 리스트를 확인하는 방법에 대해 알아보겠습니다.

 

 

Contents | 웹페이지의 외부 URL 리스트 확인 방법 with 파이썬

Ⅰ. 웹페이지 내 외부 URL 리스트 확인 방법

Ⅱ. 파이썬을 이용한 웹페이지의 외부 URL 리스트 확인 방법

 

 

 

1. 웹페이지 내 외부 URL 리스트 확인 방법

 

▷ 웹페이지 내 외부 URL 리스트 확인 방법에는 아래의 방법이 있습니다.

 → 웹브라우저에서 제공하는 개발자 도구를 이용한 외부 URL 리스트 확인

 → 개발언어를 이용한 URL 리스트 자동 추출 스크립트로 확인

 

 웹브라우저에서 제공하는 개발자 도구를 이용하면 현재 페이지 내의 html 소스를 볼 수 있습니다. html 소스 내에 삽입된 URL 링크를 한땀 한땀 검색해서 찾는 방법이라 시간이 제법 걸립니다.

 

 

개발언어를 이용한 외부 URL 리스트 자동 추출 스크립트로 확인하는 방법은 스크립트를 작성하는데 일정 시간이 소요되지만, 한번 만들어 놓으면 점검 대상 URL 주소만 변경하여 쉽고, 빠르게 외부 URL 링크를 추출하여 확인이 가능합니다. 본 포스팅에서는 파이썬을 이용한 외부 URL 리스트 자동 추출 스크립트를 만들어 보겠습니다.

 

 

2. 파이썬을 이용한 웹페이지의 외부 URL 리스트 확인 방법

 

▷ 파이썬을 이용한 웹페이지의 외부 URL 리스트 확인하는 방법은 아래와 같습니다.

 → 필요한 패키지는 requests, beautifulsoup, re 입니다.

 → 점검 대상 URL의 웹페이지를 요청한 후

 → 수집한 웹페이지를 파싱하고

 → 태그 내에 존재하는 URL을 추출 후 결과를 보여 줍니다.

 

위에서 설명한 과정을 코딩으로 구현하면 아래와 같습니다.

 


from bs4 import BeautifulSoup
import requests, re

# 점검 대상 URL 입력
web_url = "점검 대상 URL 입력"
res = requests.get(web_url)
html = res.text

# 수집한 웹페이지 파싱
soup = BeautifulSoup(html, 'html.parser')
soup.prettify()

# 수집한 웹페이지 내 URL 리스트 추출
count = 1
for url in soup.findAll('a', href=True):
    check_url = url['href']
    pattern = re.compile('^(http(s)?):\/\/([^:\/\s]+)(:([^\/]*))?((\/[^\s/\/]+)*)?\/?([^#\s\?]*)(\?([^#\s]*))?(#(\w*))?$')
    result = pattern.search(check_url)
    if result:
        print(count, ' ', result.group())
        count = count+1
    else:
        pass

 

 

3. 확인된 외부 URL 정상 유무 점검 방법

 

▷ 이전 포스팅에서 웹사이트 악성코드 유포 사이트 점검 방법에 대해 소개 드렸었습니다. 이 방법을 이용하면 본 포스팅에서 소개한 웹페이지 내에 있는 외부 URL 리스트를 자동으로 악성코드 유포 사이트 점검이 가능합니다.

 

▷ 웹페이지 내 외부 URL 리스트의 정상 유무 확인과 조치 방법은 다음과 같습니다.

 → 웹페이지 내 외부 URL 리스트 추출 (파이썬 스크립트 이용)

 → 외부 URL 리스트를 웹사이트 악성코드 유포 사이트 점검 파이썬 스크립트를 이용하여 점검

  점검 결과 비정상 URL인 경우 웹페이지 개발 소스에서 해당 URL 제거

 

▷ 이 방법을 일괄적으로 자동화하는 방법에 대해 추후 포스팅을 통해 소개할 예정이니, 이 방법이 궁금하신 분은 많은 관심 부탁드립니다.

 

 

 

▽ 같이 보면 더 좋은 블로그 글 

 

구글 세이프브라우징을 이용한 악성코드 유포 사이트 점검

크롬 브라우저를 이용하여 웹사이트 이용 시 혹시 아래 그림과 같이 빨간 화면의 경고 페이지를 본 경우 없으신가요? 만약 없다면 다행히도 안전한 웹사이트를 이용하는 것으로 안심해도 걱정

mpjamong.tistory.com

 

바이러스토탈을 이용한 웹사이트 악성코드 감염 여부 체크

이전 포스팅에서 구글 세이프브라우징을 이용한 웹사이트 악성코드 감염 여부 체크하는 방법에 대해 소개해드렸는데요. 이번 포스팅에서는 바이러스토탈(Virustotal)을 이용한 웹사이트의 악성코

mpjamong.tistory.com

 

관련글 더보기

댓글 영역