크롤링한 결과 AWS RDS에 저장하기
일단 완성까지 6시간이 걸렸다,,,
시간이 왜 이렇게까지 많이 걸렸는지 생각을 해봤는데 전체적인 흐름이 이해가 가지 않았기 때문인 것 같다.
RDS를 생성했다는 가정하에 ssh에서 rds와 연결을 하는 것과 mysql workbench에서 rds를 연결하는 것은 같다고 결론을 내렸다.
크롤링한 데이터를 rds에 넣는 흐름이 가장 이해가 가지 않았는데 지금 생각해보면 크롤링 후 데이터베이스를 선택한 후 크롤링된 데이터를 컬럼별로 넣어주기만 하면 되는 것이었는데 뭐가 그렇게 심오했나 싶다.
1. mysql workbench에서 생성한 rds를 연결시켜준다.
hostname은 aws rds의 엔드포인트를 넣어주면 된다.
2. 잘 연결되었는지 확인을 해보려면
CREATE TABLE books (title text, url text)
select * from books
를 했을 때 값이 잘 나오면 된 것이다.
3. 아니면 ssh환경에서 확인을 하려면 인스턴스에 접속한 후 mysql -u admin -p -h "엔드포인트"(쌍 따옴표 제외)를 치면
위와 같은 mysql>이라는 것이 나온다.
새로운 데이터베이스를 만들어준다. 데이터베이스 관련해서는 mysql workbench와 ssh환경 두 군데 어디서나 해도 된다.
CREATE DATABASE your_database_name;
show databases;를 하면 데이터베이스를 보여준다(명령어를 칠 때 세미콜론을 안 붙이면 실행이 안된다)
일단 데이터 베이스를 만든 후 주피터 환경으로 다시 접속한 후 app.py를 수정했다.
app.py로 들어가서 추출한 id와 링크 값들을 데이터베이스에 넣어주는 코드를 작성한 후 다시 데이터베이스를 출력하면 아래처럼 값들이 제대로 들어가게 된다.