개인 자료란 (JE)

  서버 커뮤니티


Profile 라고솔로가말했습니다 한마포 개발자란 담당자

SaidBySolo 8b58f951b6404b78ae3ba92d55d431f7

Profile

커뮤니티 개발 개발자 강좌 일반 프로그래밍

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

2020.09.22 조회 수 222 추천 수 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/073/287/003/262x150.crop.jpg?20220812025626

업데이트

마인크래프트 베드락 에디션 프리뷰 및 베타 1.19.30.21 업데이트

Dalsu

2022-08-12

0

/files/thumbnails/938/285/003/262x150.crop.jpg?20220810181056

업데이트

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

마리오군

2022-08-10

0

/files/thumbnails/867/285/003/262x150.crop.jpg?20220810171634

업데이트

마인크래프트 1.19.2 릴리스 후보 2 업데이트

마리오군

2022-08-10

0

/files/thumbnails/855/285/003/262x150.crop.jpg?20220810171326

업데이트

마인크래프트 1.19.2 릴리스 후보 1 업데이트

마리오군

2022-08-10

0

/files/thumbnails/445/285/003/262x150.crop.jpg?20220810085602

업데이트

마인크래프트 베드락 에디션 1.19.20 업데이트 요약

Dalsu

2022-08-10

1