개인 자료란 (JE)

  서버 커뮤니티

Profile 라고솔로가말했습니다 대표칭호 없음

SaidBySolo 8b58f951b6404b78ae3ba92d55d431f7

Profile

커뮤니티 소통 개발하기 프로그래밍

핵심만 적어놓은 네이버포스트 크롤링 후기

2020.09.22 조회 수 337 추천 수 0

네이버 포스트 크롤링 후기입니다.

Github gist: 링크

레포지토리 소스: 링크

주석도 써놓았으니 궁금하면 보시면됩니다.


2차원리스트를 1차원리스트로 바꾸는 방법

많은 방법이있지만 간결한 리스트 캄프리헨션스를 사용했다.

[element for list_ in lists for element in list_]

이스케이프 시퀀스가 그대로나옴

해당 링크를 참고했습니다.

def decode_escapes(like_html: str) -> str:
    escape_sequence_regex = re.compile(
        r"""
        ( \\U........      # 8-digit hex escapes
        | \\u....          # 4-digit hex escapes
        | \\x..            # 2-digit hex escapes
        | \\[0-7]{1,3}     # Octal escapes
        | \\N\{[^}]+\}     # Unicode characters by name
        | \\[\\'"abfnrtv]  # Single-character escapes
        )""",
        re.UNICODE | re.VERBOSE,
    )

    return escape_sequence_regex.sub(
        lambda match: codecs.decode(match.group(0), "unicode-escape"), like_html
    )

해당방법은 바이트코드로 바꾸면서 글자가 깨지게되는데 글자가 깨지는현상을 방지해준다.

문자열의 "true" "false" 같은 문자열로된 참 거짓값을 내장 모듈로 바꿀수있다


from distutils.util import strtobool

print(strtobool("false"))

"Y", "N"과같은 것도 처리해주는것같다

urllib내장 모듈을 활용해 URL을 나눌수있다


from urllib.parse import urlparse, parse_qs 

parsed_url = urlparse("url")

paresed_query = parse_qs(paresed_url.query)

쿼리까지 나눌수있었다

여러 클래스를 상속받고 초기화하는경우 다음과같이한다


class Class1():
    def __init__(self, class_1):
        self.class_1 = class_1

class Class2():
    def __init__(self, class_2):
        self.class_2 = class_2

class Class3(Class1, Class2):
    Class1.__init__(self, "class_1")
    Class2.__init__(self, "class_2")

self인자를 무조건 주어야한다.

두개의 변수를 함께 for 루프를 돌리고자하면 zip을 사용하자


list_1 = [0,2]
list_2 = [0,1]
for list_1_element, list_2_element in zip(list_1, list_2):    
    print(list_1_element, list_2,element)

이렇게 작성하면서 알게된걸 적어봤어요.

역시 코딩은 맞으면서 배워야해요




2개의 댓글

명이
2020.11.13

오늘의 결론 : 코딩은 맞으면서 배워야한다.

뉴스 및 창작물
/files/thumbnails/520/751/003/262x150.crop.jpg?20240328020349

레드스톤

마인크래프트 노트블록으로 만든 『 Bling‐Bang‐Bang‐Born 』 1

Sonttukk

2024-03-23

1

/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리 1

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240328020414

레드스톤

마인크래프트 노트블록으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0