본문 바로가기

Python_Crawling/Crawling

[패스트캠퍼스]04. lxml 사용 기초 스크랩핑 A <수정코드>

파이썬 웹 개발

https://www.fastcampus.co.kr/dev_online_pyweb

 

파이썬 웹 개발 올인원 패키지 Online. | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

www.fastcampus.co.kr

 

기존 코드 오류>

네이버 메인 사이트 뉴스 개편으로 인하여 사이트 구조 변경

 

네이버 구조 확인>

기존에 강의 동영상과 다르게 클래스가 변경된 것을 확인할 수 있음.

 

기존 코드>

...
    for a in root.cssselect('.api_list .api_item a.api_link'):
        # 링크 
        url = a.get('href')
        # 리스트 삽입
        urls.append(url)
    return urls
...

 

수정 코드>

...
for a in root.cssselect(".thumb_box > .popup_wrap > a.btn_popup"):
        # 링크
        url = a.get("href")
        # class 중복으로 인한 # 제거 방법
        if len(url) >= 2:
            # 리스트 삽입
            urls.append(url)
        else:
            pass
    return urls
...

 

결과물>

http://newsstand.naver.com/?list=&pcode=052
http://newsstand.naver.com/?list=&pcode=277
http://newsstand.naver.com/?list=&pcode=057
http://newsstand.naver.com/?list=&pcode=008
http://newsstand.naver.com/?list=&pcode=020
http://newsstand.naver.com/?list=&pcode=081
http://newsstand.naver.com/?list=&pcode=028
http://newsstand.naver.com/?list=&pcode=308
http://newsstand.naver.com/?list=&pcode=092
http://newsstand.naver.com/?list=&pcode=368
http://newsstand.naver.com/?list=&pcode=076
http://newsstand.naver.com/?list=&pcode=117
http://newsstand.naver.com/?list=&pcode=073
http://newsstand.naver.com/?list=&pcode=015
http://newsstand.naver.com/?list=&pcode=055
http://newsstand.naver.com/?list=&pcode=356
http://newsstand.naver.com/?list=&pcode=539
http://newsstand.naver.com/?list=&pcode=144
http://newsstand.naver.com/?list=&pcode=908
http://newsstand.naver.com/?list=&pcode=965
http://newsstand.naver.com/?list=&pcode=903
http://newsstand.naver.com/?list=&pcode=810
http://newsstand.naver.com/?list=&pcode=094
http://newsstand.naver.com/?list=&pcode=477