작성
·
47
0
키워드는 강의해주신 것처럼 아래와 같이 처리가 되어 있음에도 불구하고, 결과값이 ['NFT', 'cryptocurrency', 'collateral', 'personal property', 'AI', 'NFT', '물건', '동산', '가상화폐', '인공지능'] 으로 나옵니다. 이유가 뭘까요..
keywords = soup.select_one(".infoDetailL>ul>li:nth-of-type(7)>div").text.split(';')
keywords = [keyword.strip() for keyword in keywords]
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 규식님.
여러 키워드를 나누고 정리하는 과정에서 예상과 다른 결과를 얻고 계시군요. 데이터 크롤링에서 이렇게 다양한 키워드가 나타나는 문제는 크게 두 가지 요인에서 발생할 수 있습니다.
먼저, soup.select_one(".infoDetailL>ul>li:nth-of-type(7)>div")
이 CSS 선택자가 정확한 위치에서 데이터를 읽어오고 있는지 확인해야 합니다. 웹 페이지의 HTML 구조가 강의 당시와 달라졌거나, 위치가 변동되었을 수 있습니다. 해당 위치가 아닌 다른 곳에서 데이터가 읽혀오는 경우도 발생할 수 있기 때문에, HTML 페이지의 구조를 다시 확인해 주시기 바랍니다.
코드에서 text.split(';')
로 문자열을 처리하고 계십니다. 여기서 데이터를 나누는 구분자가 올바른지 확인해 보세요. 예를 들어, 웹 페이지에서 키워드가 쉼표나 다른 문자를 기준으로 나뉘어 있을 수 있습니다. 다양하게 실험해보시고, 실제 나누고자 하는 기준을 재확인해 수정해 보세요.
이러한 과정을 통해 문제를 해결하실 수 있기를 바랍니다. 추가적으로 HTML 페이지가 어떻게 구성되어 있는지(특히 키워드가 포함된 부분)의 세부사항을 확인하시면 문제 해결에 크게 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.