개인 자료란 (JE)

  서버 커뮤니티

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

SaidBySolo 8b58f951b6404b78ae3ba92d55d431f7

Profile

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

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

2020.09.22 조회 수 349 추천 수 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/439/832/003/262x150.crop.jpg?20240711073840

레드스톤

【Ado】루루 (RuLe) | 피아노 & 노트블럭 커버

노트블럭전문가

2024-07-11

0

/files/thumbnails/600/818/003/262x150.crop.jpg?20240622093723

레드스톤

[마크 피아노커버] 에반게리온 잔혹한 천사의 테제 2

노트블럭전문가

2024-06-22

2

/files/thumbnails/647/816/003/262x150.crop.jpg?20240619112336

건축

숭례문(프리퀄) 2

KHC

2024-06-19

0

/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER 3

노트블럭전문가

2024-06-17

1

/files/thumbnails/932/812/003/262x150.crop.jpg?20240622110502

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1