정기적으로 특정 웹 페이지를 긁어 내고 싶습니다 (예 : 매시간). 이것은 파이썬과 관련이 있습니다. 스크래핑 된 결과는 SQLite 테이블에 삽입되어야합니다. 새로운 정보는 긁히지 만 파이썬 스크립트가 매시간 실행되기 때문에 '오래된'정보가 다시 긁힐 것입니다.파이썬과 sqlite로 웹 스크래핑하기. 긁힌 데이터를 효과적으로 저장하는 방법은 무엇입니까?
더 정확하게 말하면 경기 결과가 나오는 페이지와 일치하는 결과가 점점 더 많이 나오는 스포츠 결과 페이지를 긁어 내고 싶습니다. 따라서 새 스크래핑을 할 때마다 SQLite 테이블에 새 결과를 입력해야합니다. 오래된 테이블은 이미 한 시간 전에 (또는 이전에) 긁어서 (테이블에 삽입 한 상태이기 때문에) 필요합니다.
동일한 결과가 두 번 긁 히면 두 번 삽입하지 않으려합니다. 따라서 하나의 결과가 이미 제거되었는지 확인하는 메커니즘이 있어야합니다. SQL 수준에서이 작업을 수행 할 수 있습니까? 따라서 전체 페이지를 긁어서 각 결과에 대해 INSERT
문을 작성하지만 그 전에는 INSERT
문만 성공적으로 실행되어 데이터베이스에 없었습니다. 나는 UNIQUE
키워드 또는 이렇게 생각하고있다.
성능에 대해 너무 많이 생각하고 있습니다. 나중에 스크래핑을 시작하기 전에 DROP TABLE
을 수행하여이 문제를 해결해야합니다. 그런 다음 다시 처음부터 모든 것을 다 긁습니다. 나는 정말로 많은 데이터에 관해서 이야기하지 않는다. 1 토너먼트와 약 50 토너먼트에 약 100 개의 레코드 (= 매치)가 있습니다.
기본적으로 나는 일종의 모범 사례 접근에 관심이 있습니다.
이 방법으로 내용을 수집 할 수있는 사이트인지 확인하십시오. 많은 사이트에는이를 금지하는 정책이 있습니다. – Ren
감사합니다. 내가 확인합니다. – beta