import requests as req

from bs4 import BeautifulSoup as bs

from selenium import webdriver as wb

from selenium.webdriver.common.keys import Keys

import os

def crawl(number):

    options = wb.ChromeOptions()

    options.add_argument('headless')

    options.add_argument('window-size=1920x1080')

    options.add_argument("disable-gpu")

    url = 'https://gall.dcinside.com/mgallery/board/view/?id=thesingularity&no='+number

    driver = wb.Chrome('chromedriver', chrome_options=options)

    driver.get(url)

    subject = driver.find_element_by_xpath('//*[@id="container"]/section/article[2]/div[1]/header/div/h3/span[2]')

    body = driver.find_element_by_xpath('//*[@id="container"]/section/article[2]/div[1]/div/div[1]/div[1]/div[2]/div')

    title = subject.text

    text = body.text

    f = open(number+'.txt', 'w')

    f.write("제목 : "+title+"\n"+"-------------본문---------------"+"\n"+ text+"\n")

    f.close()

    driver.close()

start = input("크롤링을 시작할 게시글 :")

end = input("크롤링을 끝낼 마지막 게시글 ")

for number in range(int(start), int(end)+1):

    try:

        crawl(str(number))

    except : 

        print(str(number)+"는 없는 페이지입니다.")

print("크롤링 끝")


코랩에서 돌려먹던 아나콘다 깔고 주피터로 돌리던 니들 맘대로 하셈..

특갤 텍스트마이닝해서 빅데이터 분석할려고 짜놨는데 딱히 쓸모있진 않네.

10분이면 짜는 코드이긴 한데 그냥 버리기 아까워서 올림..

헤드리스 셀레니움으로 크롤링하는거라 크롬 드라이버 버전에 맞는걸로 같이 놔두셈. ㅇㅇ