편집 기록

편집 기록
  • 프로필 엽토군님의 편집
    날짜2022.11.29

    없는 자료에 대한 크롤링 처리


    안녕하세요.
    파이썬을 시작하는 초보 직장인입니다.

    논문 저널에 대해 웹 크롤링을 하고 있습니다.
    사용하는 패키지는 selenium, BeautifulSoup4 정도가 될 것 같습니다.
    저널에서 논문 페이지에 대해
    제목은 항상 같은 위치에 있어서,

    driver.find_element_by_class_name("c-article-title").text
    

    와 같은 형식으로 불러올 수 있었으나

    Received, Revised, Accepted, Published, Issue Date, DOI에
    대한 항목들은

    c-article-subject-list라는 동일한 클래스에 속해있어

    driver.find_elements_by_class_name("c-bibliographic-information__value")[0].text
    

    와 같이 순서에 따라 데이터를 스크래핑했습니다.

    문제는 어떤 논문들은 수정 등 일부 항목이 존재하지 않는다는 것입니다.
    Received(0), Revised(1), Accepted(2), Published(3), Issue Date(4), DOI(5)가
    어떤 논문에서는 Received(0), Accepted(1), Published(2), Issue Date(3), DOI(4)가 되기도 합니다.
    심지어는 Published(0), DOI(1) 인 경우도 있습니다.

    반복문을 사용해서 스크래핑을 진행하다보니, 이러한 차이에서
    오류를 발생시키는 것을 확인했습니다.

    구글에 해당 내용을 검색해보긴 했으나, 실력이 부족하여 제대로 찾지 못하고 이렇게 문의 드리게 되었습니다.

    위와 같이 클래스명이 동일하고 때에 따라 유동적으로 변하는 경우, 어떻게 제가 원하는 자료를 스크래핑할 수 있을까요?

    1 0

  • 프로필 Jack님의 편집
    날짜2022.11.29

    [초보자] 파이썬 크롤링 관련해서 문의 드립니다.


    안녕하세요. 파이썬을 시작하는 초보 직장인입니다.

    논문 저널에 대해 웹 크롤링을 하고 있습니다. 사용하는 패키지는 selenium, BeautifulSoup4 정도가 될 것 같습니다. 저널에서 논문 페이지에 대해 제목은 항상 같은 위치에 있어서, driver.find_element_by_class_name("c-article-title").text 와 같은 형식으로 불러올 수 있었으나

    Received, Revised, Accepted, Published, Issue Date, DOI에 대한 항목들은

    c-article-subject-list라는 동일한 클래스에 속해있어

    driver.find_elements_by_class_name("c-bibliographic-information__value")[0].text

    와 같이 순서에 따라 데이터를 스크래핑했습니다.

    문제는 어떤 논문들은 수정 등 일부 항목이 존재하지 않는다는 것입니다. Received(0), Revised(1), Accepted(2), Published(3), Issue Date(4), DOI(5)가 어떤 논문에서는 Received(0), Accepted(1), Published(2), Issue Date(3), DOI(4)가 되기도 합니다. 심지어는 Published(0), DOI(1) 인 경우도 있습니다.

    반복문을 사용해서 스크래핑을 진행하다보니, 이러한 차이에서 오류를 발생시키는 것을 확인했습니다.

    구글에 해당 내용을 검색해보긴 했으나, 실력이 부족하여 제대로 찾지 못하고 이렇게 문의 드리게 되었습니다.

    위와 같이 클래스명이 동일하고 때에 따라 유동적으로 변하는 경우, 어떻게 제가 원하는 자료를 스크래핑할 수 있을까요?

    1 0