일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 공간데이터
- multinomiallogitregression
- platformurbanism
- QGIS
- pandas
- 도시인공지능
- digital geography
- 스마트시티
- 서울
- 서울데이터
- 그래프이론
- spacesyntax
- graphtheory
- 도시설계
- 파이썬
- 공간분석
- digitalgeography
- 핫플레이스
- naver
- SQL
- 도시계획
- 베이지안
- 도시공간분석
- 웹크롤링
- 베이지안뉴럴네트워크
- postgres
- connectivity
- Python
- 네이버
- 그래프색상
Archives
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 공간데이터
- multinomiallogitregression
- platformurbanism
- QGIS
- pandas
- 도시인공지능
- digital geography
- 스마트시티
- 서울
- 서울데이터
- 그래프이론
- spacesyntax
- graphtheory
- 도시설계
- 파이썬
- 공간분석
- digitalgeography
- 핫플레이스
- naver
- SQL
- 도시계획
- 베이지안
- 도시공간분석
- 웹크롤링
- 베이지안뉴럴네트워크
- postgres
- connectivity
- Python
- 네이버
- 그래프색상
Archives
- Today
- Total
이언배 연구노트
[PostGRES] 웹크롤링 실패 인허가 데이터의 탐색 본문
나의 웹 크롤링 데이터는 어떻게 될 것인가...
일단 이전에 크롤링해두었던 나에게 칭찬하며,
18,486개의 크롤링 데이터를 얻을 수 있었다. (파이썬에서 PostGRES로 옮겼다.)
그 중에서 similarity 가 0.15이상인 녀석들은 아래와 같다
SELECT title, naver_check, similarity(title, naver_check) FROM overflow_result
WHERE similarity(title, naver_check) > 0.2 ORDER BY similarity ;
사실 네이버에서 매우 러프하게 검색한 결과물이어서 text similarity 를 더욱 보수적으로 잡아야하나 했지만,
어차피 걸러낼 수 있는 가능성이 별로 없어보인다.
사실 이번 단계에서는 "네이버에서 검색된 결과가 unmatched 인허가 데이터랑 일치하느냐?" 라는 질문에서부터
온전히 Yes라고 대답하기 어렵다.
검색의 결과물이 갑자기 엉뚱한 위치로 튀어서 나오거나, 이름이 비슷하지 않은데도 갑툭튀하는 경우들이 있기 때문.
하지만 완전한 데이터는 없다는 마음을 가지고, 최종적으로 남은 데이터들을 찾아보자.
SELECT U.pmid, U.title, U.addr, ov.naver_check FROM unmatched U
LEFT JOIN
(SELECT title, addr, naver_check, similarity(title, naver_check)
FROM overflow_result
WHERE similarity(title, naver_check) > 0.2
) ov
ON U.title = ov.title AND U.addr = ov.addr --이름과 주소만으로 매칭이 가능할 것이다
WHERE ov.naver_check is null;
96731개의 unmatched data...
이제 내가 해야할 일은...
이 96731개의 인허가 데이터들이 "진짜로 검색불가능한지" 를 찾는 것이다....
일단 위의 데이터를 MATERIALIZED VIEW 로 저장해두고 깔끔하게 그때그때 불러서 쓰도록 하자
CREATE MATERIALIZED VIEW crawl_permit_place AS --이름이 불만족스럽지만 일단 가자
(SELECT U.* FROM unmatched U
LEFT JOIN
(SELECT title, addr, naver_check, similarity(title, naver_check)
FROM overflow_result
WHERE similarity(title, naver_check) > 0.2
) ov
ON U.title = ov.title AND U.addr = ov.addr
WHERE ov.naver_check is null);
728x90
'PostGRES' 카테고리의 다른 글
[PostGRES + Python] 데이터베이스에서 리스트 불러와 웹크롤링 (0) | 2024.10.15 |
---|---|
[PostGRES] 웹크롤링으로 찾지 못한 인허가 데이터 붙이기 (0) | 2024.10.15 |
[PostGRES] 공간 쿼리로 비슷한 이름 찾기 (1) | 2024.10.02 |
[PostGRES] 주소를 활용해 소스가 다른 두 데이터의 병합 (2) | 2024.09.30 |
[PostGRES] 도로에 인접한 건축물을 용도 별로 할당하기 (0) | 2024.04.16 |