본문 바로가기
블로그&마케팅&부업

사이트맵을 이용하여 블로그에서 광고 코드 찾기 -파이썬을 이용한 블로거 도구 만들기

by developer's warehouse 2024. 1. 19.

구글 애드센스를 하면서 여기저기 광고 코드를 막 넣었습니다. 그런데, 광고코드를 넣지 않은 페이지가 있는지 찾고 싶기도 하고 페이지별로 광고 코드가 얼마나 많이 들어있는지 찾고 싶었습니다. 그런데, 티스토리나 구글 블로거(블로그스폿)에서는 java script 안의 내용은 검색이 되지 않습니다. 그래서, 파이썬으로 이를 할 수 있는 도구를 소개합니다. 

사이트맵을 이용하여 블로그에서 광고 코드 찾기 썸네일

파이썬 언어 특징 

파이썬은 쉽게 코딩을 작성할 수 있고 잘 알려진 언어입니다. 또한, 다양한 라이브러리를 많이 제공하고 설치하기도 쉬워서 파이썬으로 코드를 작성하기가 쉽습니다. 

 

파이썬을 이용한 광고 코드 찾기 실행 법

파이썬을 이용해서 광고코드를 찾기 위해서는 다음과 같은 명령으로 실행하면 됩니다. 

#python이 없으면 python3로 수행하시고 둘 다 없으면 파이썬을 설치하셔야 합니다. 
python search.py "사이트맵 URL" "검색하려는 문자열"

 

파이썬을 이용한 광고 코드 찾기 소스코드

아래 소스코드를 search.py 파일로 저장한 후 위에서 설명드린 실행 법을 통해서 찾을 수 있습니다. 

import requests
from bs4 import BeautifulSoup
import xml.etree.ElementTree as ET
import argparse

def search_in_sitemap(sitemap_url, search_string):
    sitemap = requests.get(sitemap_url)
    root = ET.fromstring(sitemap.content)
    result = []
    for url in root.findall('{http://www.sitemaps.org/schemas/sitemap/0.9}url'):
        loc = url.find('{http://www.sitemaps.org/schemas/sitemap/0.9}loc').text
        page = requests.get(loc)
        count = page.text.count(search_string)
        if count > 0:
            result.append((loc, count))
        else:
            print("Page tested: " + loc)

    print("Search page count: " + str(len(result)))
    for page, count in result:
        print(f"{page}: {count} matches")
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("sitemap_url", help="The url of the sitemap")
    parser.add_argument("search_string", help="The string to search for")
    args = parser.parse_args()
    search_in_sitemap(args.sitemap_url, args.search_string)

if __name__ == "__main__":
    main()

 

위 소스코드는 sitemap 주소에 있는 전체 공개된 페이지 url을 찾아서 각 url에 대해서 http request를 보냅니다.

이를 string으로 변환 후 해당 string에 검색 문자열이 있으면 해당 문자열을 찾고 찾은 페이지를 마지막에 출력합니다.  

 

이 처럼하면 간단하게 광고가 각 페이지에 몇 개씩 들어있는지 확인하실 수 있습니다. 

facebook twitter kakaoTalk kakaostory naver band shareLink