이번에는 사이트맵에서 url 만 추출하는 방법에대해 알아보도록 하겠습니다. 자신의 사이트를 정리해야 하거나 구글서치콘솔에 자동으로 색인요청을 보내기 위해서 필요할때가 있습니다. url 이 10개 이하면 수동으로 해도 되겠지만 100개 이상이 된다면 문제가 되겠죠~ 파이선으로 사이트맵에서 url 추출방법이 궁금하시다면 따라오세요~




     
    사이트맵에서 url 추출방법



    1. 사이트맵에서 url 추출방법(1)


    아래는 advertools 을 이용해서 url 을 추출하는 방법입니다. 추출한후 텍스트 파일로 저장하는 방법입니다.

    사용하기 전에 라이버리를 설치하셔야 합니다.
    pip install advertools
    위 명령으로 라이버리를 설치하신후 아래소스를 사용하시면 됩니다.


    import advertools as adv
    
    sitemap_urls = adv.sitemap_to_df("https://xxx.com/sitemap.xml") 
    
    url = sitemap_urls["loc"].to_list()
    
    submit_urls = [] #제출용
    
    for i in url :
        text = i.find('/entry')
        if text == 33 :  #PC 기준만
            submit_urls.append(i)
    
            
    f = open('C:/Users/submit_urls.txt', 'w', encoding='utf8') 
    
    for submit_url in submit_urls :
        f.write(submit_url + '\n')
    f.close()
    



    2. 사이트맵에서 url 추출방법(2)



    아래는 정규식을 이용해서 추출하는 방법입니다. 추출한후 엑셀로 저장하는 방법입니다.


    import re, requests
    
    import openpyxl
    
    wb = openpyxl.Workbook()
    ws = wb.create_sheet()
    ws.append(['url'])
    
    url = "https://xxx/sitemap.xml"
    
    res = requests.get(url)
    
    # pattern = '(?<=)[a-zA-z]+://[^\s]*(?=)'
    pattern = '(.*?)'
    url_lists = re.findall(pattern,res.text)
    
    
    
    for url_list in url_lists:
    
        row=[url_list]
    
        ws.append(row)
    
    
    wb.save(f'C:/Users/user/Documents/py/wp/image_wd/gpt/index.xlsx' ) 
    


    이렇게해서 사이트맵(SITEMAP) 에서 URL 을 추출하는 방법에 대해 알아보았습니다.사이트맵(SITEMAP) 에서 URL 을 추출하는 방법에 대해 궁금하셨던분들에게 좋은 정보가 되었을것 같네요~ 다음에는 더욱 유용한 정보로 찾아올것을 약속드리며 이번 포스팅은 여기까지 하도록 하겠습니다. 오늘 하루도 행복하세요~ ^^