사이트에서 끊어진 링크를 찾는 빠른 스크립트 🎯
소개
인터넷에서 거의 모든 클릭이 "오류 404: 페이지를 찾을 수 없음"페이지로 끝나는 것 같습니다. "찾으시는 페이지가 존재하지 않습니다.", "죄송합니다. 이 서버에서 요청한 URL을 찾을 수 없습니다.", "죄송합니다. 문제가 발생했습니다. 페이지를 찾을 수 없습니다."모든 인터넷 사용자는 이와 같은 페이지를 본 적이 있습니다.
웹 개발자가 영리한 404 페이지를 구축하는 데 관심을 덜 기울이고 끊어진 링크를 모두 제거하기 시작하는 것이 중요하다고 생각합니다.
프로그램
끊어진 링크를 찾는 자동화 프로그램을 만들었습니다.
Python 3으로 작성되었으며 주어진 사이트의 링크를 재귀적으로 따라가며 각각의 404 오류를 확인합니다. 프로그램이 전체 사이트 검색을 마치면 발견된 끊어진 링크와 해당 링크의 위치를 출력하여 개발자가 수정할 수 있도록 합니다.
이 프로그램은 비교적 짧은 시간에 많은 HTTP 요청을 생성하므로 인터넷 사용률 등에 유의하십시오.
용법
다음 명령으로 버전 번호가 생성되지 않으면 python.org 에서 Python 3을 다운로드하십시오.
$ python3 -V
(참고: 저는 이 패키지를 유지 관리하지 않으며 관련이 없으므로 다운로드에 따른 위험은 사용자가 감수해야 합니다.)
$ pip3 install requests
$ pip3 install beautifulsoup4
find_broken_links.py
이 기사에서).
import requests
import sys
from bs4 import BeautifulSoup
from urllib.parse import urlparse
from urllib.parse import urljoin
searched_links = []
broken_links = []
def getLinksFromHTML(html):
def getLink(el):
return el["href"]
return list(map(getLink, BeautifulSoup(html, features="html.parser").select("a[href]")))
def find_broken_links(domainToSearch, URL, parentURL):
if (not (URL in searched_links)) and (not URL.startswith("mailto:")) and (not ("javascript:" in URL)) and (not URL.endswith(".png")) and (not URL.endswith(".jpg")) and (not URL.endswith(".jpeg")):
try:
requestObj = requests.get(URL);
searched_links.append(URL)
if(requestObj.status_code == 404):
broken_links.append("BROKEN: link " + URL + " from " + parentURL)
print(broken_links[-1])
else:
print("NOT BROKEN: link " + URL + " from " + parentURL)
if urlparse(URL).netloc == domainToSearch:
for link in getLinksFromHTML(requestObj.text):
find_broken_links(domainToSearch, urljoin(URL, link), URL)
except Exception as e:
print("ERROR: " + str(e));
searched_links.append(domainToSearch)
find_broken_links(urlparse(sys.argv[1]).netloc, sys.argv[1], "")
print("\n--- DONE! ---\n")
print("The following links were broken:")
for link in broken_links:
print ("\t" + link)
$ python3 find_broken_links.py https://your_site.com/
결론
이 정보가 도움이 되었기를 바라며 제 사이트에서 끊어진 링크 몇 개를 찾는 데 확실히 도움이 되었습니다.
이 프로그램은 CC0 Licensed이므로 완전히 무료로 사용할 수 있지만 어떠한 보증이나 보장도 하지 않습니다.
이 게시물이 마음에 드셨다면 ❤️를 해주세요!
스크롤해주셔서 감사합니다.
— 가브리엘 로무알도, 2019년 11월 10일
내 블로그 게시물, 확장된 내 정보 페이지 등을 보려면 내 개인 웹 사이트를 확인하십시오. xtrp.io
참고: 이전에는 Fred Adams라는 가명으로 썼습니다.
Reference
이 문제에 관하여(사이트에서 끊어진 링크를 찾는 빠른 스크립트 🎯), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/xtrp/a-quick-script-to-find-broken-links-on-your-site-1eda텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)