인턴일기 - 14일차(수기로 크롤링하기, 통합크롤러 코드검토)
2025. 4. 20. 11:59ㆍ데이터분석 인턴일기
오늘의 업무
통합크롤러 코드 검토
수기로 크롤링하기
1. 통합크롤러에서 가져온 URL확인
- 사이트 주소를 가지고와서 그 링크를 들어가 다시 텍스트를 수집하는 형태로 통합크롤러가 구성되어있다
- 그런데 링크 목록에 구글과 microsoft edge가 보인다.
- https://www.google.com/chrome
- 이 사이트 안에는 "최적화된 브라우저를 이용해달라" 는 안내가 있는데
- 그 안내 문구 안에 <a> 태그로
구글 크롬 다운로드 링크 (https://www.google.com/chrome/)
마이크로소프트 엣지 다운로드 링크 (https://www.microsoft.com/ko-kr/edge)
가 포함되어 있었다.
2. javascript:, mailto: 링크 필터링
- 크롤링할 때 <a> 태그에 달린 링크(href)를 수집했는데,
- 링크 값이
- javascript:;
- mailto:xxx@xxx.com 이런 "의미 없는 링크" 들도 같이 수집되고 있다.
문제점
- javascript:; 은 실제 이동하는 페이지가 없고,
- mailto: 는 메일 보내는 기능이라 크롤링할 필요 없는 링크
1, 2 의 문제 쓸데없는 링크까지 수집되어 성능이 나빠지고 결과가 좋지 않음
해결 방법 : href가 "javascript:" 또는 "mailto:"로 시작하는 경우는 제외하는 필터링을 추가하자!
if href and not href.lower().startswith("javascript") and not href.lower().startswith("mailto:"):
links.append((text, href))
설명 : href 값이 존재하는지 체크(if href) 한 후 href.lower() 로 소문자로 변환해서 javascript로 시작하거나 mailto:로 시작하면 링크 리스트에 추가 하지 않음 링크를 처음 모을때 필터링을 적용하는 것으로 한다.
고려 1 : 현재 적용됨
"mailto:" 로 시작하는 링크를 제외하기 위한 조건을 아래와 같이 추가 해놓은 상태인데
menu = []
for e in driver.find_elements(By.TAG_NAME, "a"):
href = e.get_attribute("href")
text = e.text.strip()
if href and not href.startswith("mailto:"):
menu.append((text, href))
고려 2 "mailto:" 뿐만아니라 "javascript:"도 추가하려면 이렇게 바꾸는 것도 괜찮을 것 같다.
if href and not href.startswith(("mailto:", "javascript:")):
menu.append((text, href))
현재 코드 상태

2. 인증원 회사소개정보, ISO인증번호, 연혁 수기입력
현재 이회사에서 진행하고 있는 ISO 인증 도움 서비스를 위해 인증원 회사 정보를 수집하는 업무를 새로 시작했다. 서비스 구현이 한시가 급한 건인데 특정 회사 정보만 수집하면 되고 크롤러로 진행하기에는 수집할 정보의 양은 작고 사이트는 많으므로 수기로 하는것이 낫다는 팀장님의 판단하에 진행하였다.
3시간 작업 : 42개 (시간당 14개)
생각보다 오래 걸린다. 회사 소개와 연혁을 img로 붙여놓은 사이트, 연혁이아예없는 사이트가 있어서 크롤러로 크롤링을 하더라도 정보를 가져 올 수 없었을 것이다.

'데이터분석 인턴일기' 카테고리의 다른 글
| 인턴일기 - 16일차(데이터수집 및 입력) (0) | 2025.04.24 |
|---|---|
| 인턴일기 - 15일차(ISO인증원 정보 수기입력) (0) | 2025.04.20 |
| 인턴일기 - 13일(네이버 기사수집 DB정제, 저장코드 수정) (0) | 2025.04.20 |
| 인턴일기 - 12일차(웹데이터 수집, API호출, 데이터정제 및 가공, PostgreSQL저장, pg_dump, 쿼리,Fiddler) (0) | 2025.04.15 |
| 인턴일기 - 11일차(통합크롤러 문제해결) (0) | 2025.04.15 |