디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[🔎질문] 메일 크롤링 질문

ㅇㅇ(175.198) 2022.07.13 21:09:20
조회 191 추천 0 댓글 1
														

import re


import requests

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

import pyperclip

import time


from bs4 import BeautifulSoup

import requests

from requests import Session, request, post, get

import os

import prefect

from prefect import task, Flow

import mysql.connector

from requests.cookies import cookiejar_from_dict

from urllib.parse import urlencode



# log_in to naver

@task(log_stdout=True)

def login_naver(driver_login, naver_id, naver_pw):

    driver_login.get('https://nid.naver.com/nidlogin.login')

    time.sleep(0.5)

    tag_id = driver.find_element(By.NAME, 'id')

    tag_id.clear()

    tag_pw = driver.find_element(By.NAME, 'pw')

    tag_pw.clear()

    time.sleep(1)

    tag_id.click()

    pyperclip.copy(naver_id)

    tag_id.send_keys(naver_id)

    time.sleep(0.5)

    tag_pw.click()

    pyperclip.copy(naver_pw)

    tag_pw.send_keys(naver_pw)

    time.sleep(0.5)

    login_btn = driver.find_element(By.ID, 'log.login')

    login_btn.click()

    time.sleep(2)



# scraping from naver mail

@task(log_stdout=True)

def scrap_naver_mail(url, url_specific):

    logger = prefect.context.get("logger")

    session = requests.Session()


    logger.info('going in to naver_mail')

    res = session.get('https://mail.naver.com/' target="_blank">https://mail.naver.com/')



    # naver_cookie = {_.split('=')[0]: _.split('=')[1]

    #                 for _ in re.split('[; ]{2}', 'NNB=NR5HUBJVOLHGE; nid_inf=107699324; NID_AUT=gv7DKVpnQvFYKG49zB2fFP1uHwZxvWiHWHyDQhoWFxj5mHOvzCemyQdnpcmnAn2I; NID_JKL=xF4oI/diivVbteBpSa7v6jOMakQvddayVnkpweF1HuE=; NMUSER=uXYlKqEwaqbsFq2rFxE/1Hk5prG9W4bwKAU/aqurFxbraxbmFqvsFxuZKAnmaqns3xndFogdFqusHou9a9vsxonOaxRpa9vs6xRpaqRVaqns1rejL9Us6xRVaqnD16lvpB2RFVl5WLl5MBp0bSloWrdnaAvmKARqp6FTW43CbNvR16lvpB2RFVl5WLl5MBp0bSloWrdnaAvmKAn=; NID_SES=AAABjFBf2faK/qu+c0rsJf8oFBvOFJ4UKoXDIXWW18pzwMFDS4PiTAR2c+5fdpt8LJTCGinTR0zoemL2CRXF66rjNEWMEXoqZnEKnK3TwCbIq7W3/iSODPvNUBS7E11PP8uRiMNuyHWVlAHJ/ug76PkUVtHn65oBqeYw6EPa7JGRstqF/iGzM67YL0qBuE+PMxgK2tzEMjJdGaQckkulsAAqScMROwYB0IsbdUOAqUT9OPNewHkkKVOCFeJyqMqb/xnzPPVg7DytqgBtMB2/zSp416jyL7VlTVQfsQZMYlbARR3uRO8ofgpigWTffTQNtOtp8qie4rSbph8lTXENz7N6XrQV1SdoIbJE47ALWtYGAMebd5IoPHImmW/S3g6cGtF5GJm3unmT6Egq01M9eXvKqAqiqmBPsbQmrCU1dvTfww3ZWGZB6xMaybCi7/DHZ0G9TWRMXn5JlrPGRsSWm9wBG7CttBNiRNqCsxQF6ioniCHOVQWRC6w1lUjlroQw1sEY7QtMSR7+Drk29riRNrcWxG4=')}

    # mail_text_response = get(url='https://mail.naver.com', cookies=naver_cookie)

    # logger.info(f'got mail info{mail_text_response.text}')

    # mail_cookies = {_.split('=')[0]: _.split('=')[1] for _ in re.split('[;]{2}',

    #                                   'NID_SES=AAABkmBB+yN8DO11LGkyCihXkqrdmyvkDXukbygVEvwwWoUPGGpumirPGxvWxBeHRkqzYdeHJBNBIdmBw0QHMEVWLdS4Zmo+5IAig43TsltuhFblkuVY23T2yUNRbeqBTd5hUShJgUjJTNQJKVzr+3GyWPlln8T2YWVADeA1MXpP5cGpsAp4KEETrM6YerhF2Rnnn6GmM7vldpsd5NHTosN3Net8uFsw3Qfud6//amKBejZ741fFJfuaUaL7Tm0HI6VbhdR9CBSPSqlJ9RGCRnJnoTseBWsWRN50TkuZ3yG5Q+a6zvIPVg0ZucyOa+peXo2vxJRYqrkL+F5psDrYi3YvEaIXMAZ/sPFRZrssMePKEgwex4RbWCwZs51KYF1po/xNXN5atDrR/pwsxL5N04h7J3vzP831uVmK50w8GquMdGS6xZ8Un3+3WexzZuJClaEqyrITeFT0a8wqllHwazKZIXUodTtKnmFNXrIZzFQ2M5v49Aqe319nsQt+25+lhjHFdVTZYP/8qG/4kVjfNujz+qYi41rMUXNhqsT7VzV1Nc4O; path=/; domain=.naver.com')}

    # for k, v in naver_cookie.items():

    #     session.cookies.set(k, v)

    # mail_params = dict()

    # for _ in url_specific.split('&'):

    #     mail_params[_.split('=')[0]] = _.split('=')[1]

    # resp = post(url, data=mail_params, cookies=mail_cookies)

    # resp.json()

    # logger.info(resp.text)

    # for _ in session.cookies.get_dict():

    #     logger.info(f'key of naver_cookies: {_}')

    # logger.info(naver_cookie)

    # for _ in resp.json()['mailData']:

    #     print('{}|{}|{}'.format(_['subject'], _['receivedTime']))

    # return resp



@task(log_stdout=True)

def store_naver_mail(records):

    logger = prefect.context.get('logger')

    logger.info('connecting to the database')

    connection = mysql.connector.connect(

        host=os.getenv('DATABASE_HOST', 'database'),

        user=os.getenv('DATABASE_USER', 'root'),

        password=os.getenv('DATABASE_PASSWORD', 'mariadb'),

        database=os.getenv('DATABASE_SCHEMA', 'practice'),

    )

    cursor = connection.cursor()

    sql = 'insert into scraping_mail(mail_title, contents, received_date, classify) values(%s, %s, %d, %s)'

    logger.info('inserting mail scrap data')

    cursor.executemany(sql, records)

    connection.commit()



with Flow("Naver mail scraping") as flow:

    driver = webdriver.Chrome('\chromedriver.exe')

    naver_id = os.getenv('NAVER_ID')

    naver_pw = os.getenv('NAVER_PW')

    login_naver(naver_id, naver_pw)

    url_common = \

    url_common_specific = 

    url_spam = 'https://mail.naver.com/' target="_blank">https://mail.naver.com/json/list/?'

    url_spam_specific = 

    mail_data = scrap_naver_mail(url_common, url_common_specific) + scrap_naver_mail(url_spam, url_spam_specific)

    store_naver_mail(mail_data)



flow.run()


(URL은 정보때문에 뺐습니다)


scrap_naver_mail 이거때문에 안돌아가는거 같은데 혹시 교정해주실 굇수분 있나여


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
- 설문 영포티룩도 멋지게 소화할 것 같은 40대 스타는? 운영자 25/10/27 - -
- AD 할로윈 슈퍼위크~!! 운영자 25/10/23 - -
1826 🔎질문 파이썬 질문 다시 드려요 (에러 창을 복사했는데 안보이네요. 이상하네요. [6] 궁금이(222.238) 22.07.28 173 0
1823 📚정보 파이썬 계산기(16): 루트k의 계산 신촌우왕87갤로그로 이동합니다. 22.07.28 187 1
1822 🔎질문 selenium element 질문 [2] oo(32.140) 22.07.28 207 1
1820 🔎질문 python pprint 써본사람? ㅇㅇ(182.223) 22.07.27 104 0
1817 🔎질문 파이참으로 크롤링 중인데 일시정지 있음??????????????????? [1] ㅇㅇ(39.118) 22.07.27 147 0
1816 🔎질문 파이참 opencv에서만 자동완성이 다 깨져서 나오는데 [2] ㅇㅇ(218.154) 22.07.27 742 0
1815 일반 와 평일 이 시간대에 [1] ㅁㅁ(223.38) 22.07.26 131 0
1814 🔎질문 이 세마포년이 뭐라는건지 아시는분 있습니노? [7] 키메라(1.212) 22.07.26 136 0
1813 🔎질문 마우스로 그림그리면 뭔가 처리할 수 있는 라이브러리가 있나요? [1] snake(223.62) 22.07.25 181 0
1812 일반 cls랑 time.sleep이 ㄹㅇ 시너지가 좋더라 [2] 하목금지조갤로그로 이동합니다. 22.07.25 144 0
1809 🔎질문 형들 파이썬 입문자 질문드려요 [3] ㅇㅇ(175.112) 22.07.24 223 0
1808 🔎질문 유데미 강의 추천좀 ㅇㅇ(59.2) 22.07.23 333 0
1807 일반 와 시발 크롤링 존나 힘들구나 [4] 치킨이좋아갤로그로 이동합니다. 22.07.23 352 0
1806 일반 뭐만 하면 오류 쳐 뜨네 ㅇㅇ(175.205) 22.07.23 97 0
1805 🔎질문 스레드 이해에 필요한 핵심키워드는 무엇입니노? [2] 키메라(211.36) 22.07.20 159 0
1804 🔎질문 이 쓰래기는 또 뭔데 [3] ㅇㅇ(59.27) 22.07.20 151 0
1803 📚정보 파이썬 계산기(15): 두 정수 나눗셈 일반화 [2] 신촌우왕87갤로그로 이동합니다. 22.07.19 202 1
1802 🔎질문 코린이 PyQt5 질문 [2] 기초(118.37) 22.07.19 170 0
1801 🔎질문 디씨 복붙가능 코드블록 생성기 왜 공지에서 없어졌어 [2] ㅇㅇ(45.14) 22.07.18 126 0
1799 🔎질문 파린이(코린이) 질문 [2] 기초(118.37) 22.07.16 142 0
1798 🔎질문 파이썬 개발도구 IDLE만으로도 다 해결됨? [3] ㅇㅇ(211.216) 22.07.16 174 0
1796 📚정보 파이썬 계산기(14): 뺄셈으로 몫과 나머지 빨리 구하기 [2] 신촌우왕87갤로그로 이동합니다. 22.07.14 230 1
1795 📚정보 자연수 n에 대한 <피타고라스 세 수> [1] 신촌우왕87갤로그로 이동합니다. 22.07.14 235 3
1793 📚정보 파이썬 계산기(13): 뺄셈을 이용한 몫과 나머지 [37] 신촌우왕87갤로그로 이동합니다. 22.07.14 460 1
🔎질문 메일 크롤링 질문 [1] ㅇㅇ(175.198) 22.07.13 191 0
1790 🔎질문 이 코드 idle에서만 돌아가고 파이참에서는 안 돌아가는 이유 좀 [2] ㅇㅇ(59.27) 22.07.13 156 0
1789 📚정보 파이썬 계산기(12): 몫과 나머지 Code 및 문제점 [2] 신촌우왕87갤로그로 이동합니다. 22.07.13 256 1
1788 📚정보 파이썬 계산기(11): 실수의 나눗셈 정리 [1] 신촌우왕87갤로그로 이동합니다. 22.07.12 177 1
1787 🔎질문 아랫글 질문자인데 해결했습니다 근데 [1] ㅇㅇ(59.2) 22.07.11 698 0
1785 🔎질문 파이썬 셀레늄 if 갈림길 질문 [7] ㅇㅇ(59.2) 22.07.10 181 0
1783 일반 파이썬 계산기(10): 후위표기식에서 결과값 얻기 Code [1] 신촌우왕87갤로그로 이동합니다. 22.07.10 105 1
1782 일반 리스트와 행렬 [1] 신촌우왕87갤로그로 이동합니다. 22.07.09 129 0
1781 🔎질문 클래스는 왜 쓰는거야? [7] ㅇㅇ(14.54) 22.07.09 491 0
1780 일반 파이썬 계산기(9): 후위표기식에서 결과값 얻기 [2] 신촌우왕87갤로그로 이동합니다. 22.07.08 161 2
1779 🔎질문 형님들 GIL 질문드립니다. [2] 기초(118.37) 22.07.08 159 0
1778 🔎질문 버튼 클릭 시 주파수 그래프 나오게 하는 방법 [2] 만자몽(106.101) 22.07.07 187 0
1777 🔎질문 파이썬 같이 boolean 자료형이 있는 언어에서는 [8] ㅇㅇ(125.129) 22.07.07 167 0
1776 🔎질문 파이썬 오류 고쳐줄 사람 부탁해요 [4] ㅇㅇ(180.81) 22.07.07 144 0
1775 🔎질문 이미지 향상 머신 러닝 [4] ㅇㅇ(221.153) 22.07.07 143 0
1774 🔎질문 Vs code 넘파이 불러오기 실패 [2] milkiscow(211.182) 22.07.07 162 0
1772 🔎질문 한줄로 입력받은 숫자들을 2개씩 끊어 입력받기 [8] ㅇㅇ(125.129) 22.07.05 175 1
1771 🔎질문 파이썬으로 인벤에서 특정 텍스트 검색하는 거 어케할 수 있어? [7] Sachi갤로그로 이동합니다. 22.07.05 254 0
1769 일반 파이썬 계산기(8): 나머지 연산자 %의 문제점 신촌우왕87갤로그로 이동합니다. 22.07.04 229 1
1768 🔎질문 기초적인 코드 질문 [4] 기초(118.37) 22.07.04 136 0
1767 일반 파이썬 계산기(7): math.floor()의 문제점 [3] 신촌우왕87갤로그로 이동합니다. 22.07.04 186 1
1766 📚정보 오래간만에 들렀습니다 ㅁㅁㅁㅁㅁ(223.38) 22.07.02 572 6
1765 🔎질문 각자 파이썬 버전 뭐로 쓰는지 말좀 해줘 [9] ㅇㅇ(175.206) 22.07.02 2329 1
1764 일반 파이썬 계산기(6): 토큰리스트에서 후위표기식 얻는 코드 신촌우왕87갤로그로 이동합니다. 22.07.01 362 6
1761 일반 개발자 <- 이 단어 존나 이상함 [2] 키메라(1.212) 22.06.28 222 0
1759 🔎질문 파이썬 개초보 오류 질문드립니다. [10] ㅇㅇ(1.177) 22.06.26 217 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2