#관련 패키지
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.common.alert import Alert
import time
import pyperclip
import requests
id = input("id 입력:")
pw = input("pw 입력:")
# 중복요소 제거
id_list = set(map(str, input('방명록을 남길 ID 를 입력하세요.').split()))
query = input("방명록에 남길 내용을 입력하세요:")
#1 로그인
url_login = "https://www.dcinside.com/"
driver = webdriver.Chrome('C:/Users/wjdrl/Documents/chromedriver') # 경로수정 필요 및 주의: chrome 과 chrome driver 의 버전을 맞추세요.
driver.get(url_login)
time.sleep(1)
#1-1
tag_id = driver.find_element(By.CSS_SELECTOR, 'input#user_id').send_keys(id + Keys.ENTER)
time.sleep(1)
tag_pw = driver.find_element(By.CSS_SELECTOR, 'input#pw').send_keys(pw + Keys.ENTER)
time.sleep(1)
count = 0
#2 크롬드라이버로 원하는 url 접속
for i in id_list:
count += 1
# Alert 창 예외처리
try:
alert = driver.switch_to.alert
alert.accept()
print(f"{url} 친구의 방명록에는 이미 작성했어요.")
time.sleep(2)
except:
pass
url = 'https://gallog.dcinside.com/'+i+'/guestbook'
driver.get(url)
try:
search_box = driver.find_element(By.NAME, "memo")
pyperclip.copy(query)
search_box.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
driver.find_element(By.XPATH, '//*[@id="gb_form"]/div[2]/div[2]/div[2]/button').click()
try:
alert = driver.switch_to.alert
alert.accpet()
print(f"{url} 친구의 방명록에는 이미 작성했어요.")
time.sleep(1)
except:
print(f"{url} 님의 갤로그에 방명록을 남겼어요.")
pass
except:
#5 alert 창 무시 스크립트
pass
print(f"{url} 친구의 방명록은 닫혀있어요.")
print(f"{count} Done")
https://github.com/eunchuldev/dcinside-python3-api
# 갤러리 고정닉네임 사용자 ID 크롤링
import asyncio
import dc_api
async def main():
async with dc_api.API() as api:
for i in range(1, 100000):
try:
async for index in api.board(board_id="onshinproject", num=-1, start_page=i, document_id_upper_limit=None, document_id_lower_limit=None):
doc = await index.document()
if doc.author_id == None:
None
else:
print(doc.author_id)
except :
pass
await main()
'잡동사니' 카테고리의 다른 글
gather id (0) | 2023.02.21 |
---|---|
automatically post at dcinside (0) | 2023.02.10 |
img crwaler (0) | 2022.08.13 |
개구리 (0) | 2022.05.09 |