내가 지금까지 뭐했는지 모르겠다 ㅋㅋ
로컬에서 돌리던 크롤링 파일을 AWS 에서 돌리려고 알아보던 중
https://kminito.tistory.com/13
멍청하면 몸이 고생한다고 아 ㅋㅋ
그리고 사진을 리사이징해서 배경화면을 만들어서 제공하는건 포기하고
그냥 특정 셀럽 사진을 모두 모아놓은 사이트를 만들어봐야겠다
훨씬 쉬워졌다
지금 고민중인것은 수 많은 이미지들을 어디에 저장할 것인가 인데
아마 S3 혹은 DynamoDB 둘중 하나에 저장할 것 같은데
여기서 문제가 유저들에게 다운로드 기능을 제공하는 것이 제일 중요한데
이걸 어떻게 구현해야 할지 모르겠다
는 간단한걸 찾음
https://lionbum.tistory.com/98
S3 내에서 테스트 해봤는데 잘된다
- EC2 구성
instaloader 모듈을 사용해서 구성하려고 했는데 datetime 때문에 안되서 한 3시간 고생하다가 겨우 찾았다
https://github.com/instaloader/instaloader/issues/427
일단 하루에 한번 그날 올라온 인스타 사진을 ec2에 저장하는데까진 성공했다
t3a.micro 로 설정했고
python3 를 설치하고
pip 으로 instaloader 를 설치했다
매일 23시에 코드를 실행해야하기 때문에 date, datetime 으로 컨트롤해줄 예정이고
instaloader 는 커맨드 라인을 os 로 전달해줄 생각이였는데
--post-filter 옵션때문에 좀 고생했다
인스타 idpass 랑 awscli 키들은 idpass.py 파일을 따로 만들었다
(s3구성 이후)
s3로 파일을 보낼때 자꾸 no such file or directory 가 떳는데
깃허브 찾아보니까 절대경로로 넣어야 한다고 한다
https://github.com/boto/boto3/issues/1992
boto3 모듈을 끌어와서
s3.upload_file() 을 사용해서 버킷에 사진이 들어가는것 까지 확인했다
- s3 구성
이제 다운로드 받은 사진을 s3로 보내는걸 하기전에
s3 퍼블릭 설정부터 해보자
s3를 퍼블릭 설정해줬고
getobject, putobject 에 대해서 정책설정을 해줬다
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
32
33
34
35
36
37
|
{
"Version": "2012-10-17",
"Id": "Policy1663339630158",
"Statement": [
{
"Sid": "Stmt1663339530383",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::fansieve-static-webhosting/*",
"Condition": {
"Null": {
"s3:x-amz-server-side-encryption": "true"
}
}
},
{
"Sid": "Stmt1663339621736",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::fansieve-static-webhosting/*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-server-side-encryption": "AES256"
}
}
},
{
"Sid": "Stmt1663340362824",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::fansieve-static-webhosting/*"
}
]
}
|
cs |
sse를 설정해야 업로드 되므로
업로드 시에 aes256 을 암호화 방식으로 추가해줬다
예전에 임시로 받아두었던 html 파일들도 모두 옮겨줬다
버전관리는 하지 않을 생각이다
- 오후 할거 정리
일단 제일 중요한건
1. html 프론트 구성
- 메뉴 정리하고, 화면 배치 수정해야 함
2. 이미지 매핑
- 날마다 추가되는 이미지들을 계속 매핑해줘야하기 때문에 ec2 에서 html 스크립트를 자동 수정하는 코드를 짜봐야 할 것 같다
- 사진들은 인스타 피드와 비슷하게 3행 아니면 4행으로 배열해서 스크롤 할 수 있게 하고싶다
3. modal pop-up 만들기
- 사진을 클릭하면 인스타처럼 pop up 이 뜨게 하고싶음
4. 다운로드 버튼 추가
- pop up 이 뜨면 그 밑에 다운로드 버튼까지 추가
5. 도네이션? 펀딩 연결
- 이걸 예약 인스턴스로 바꿀지 잘 모르겠는데 일단 ec2 유지비용 + 인스타 이미지를 가져올때 데이터 전송 비용이 들기 때문에 이부분을 유저들에게 설명하고 최소한의 도네를 부탁하는 식으로 만들어 보자
- 이건 17일 이후에 해보자
이건 내일 해볼껀데
https://new93helloworld.tistory.com/135
사진을 띄우고 다운로드 버튼을 같이 노출시킬 팝업 만드는 법이다
이 글을 쓰는 지금이 오전 6시인데
술마시고 밤샌거라 일단 조금 자고
일어나서 저거 다 해보자
그리고 추가로 넣고싶은 기능들이 있는데
1. 검색기능
- db에 저장하는게 아니라 잘 될지는 모르겠다 php로 만들어야하려나?
2. 인스타그램 프로필
- 맴버들 인스타 프로필만 띄워보고싶은데 그런 api 가 있는지도 ㅁ?ㄹ
3. 스토리 쇼츠 저장 페이지
- 비디오라 부담되는데 재밌을듯하다
일단 여기까지
한 4시간 정도 자고 일어나서 다시 하자
오늘 자정까지 제출이니깐
'Archive > [Infra+Web] fanpage:BLACKPINKINYOURAREA' 카테고리의 다른 글
[Web]BLACKPINK IN YOUR AREA-10-python으로 파일삭제 + 에러핸들링 (0) | 2022.09.19 |
---|---|
[Web]BLACKPINK IN YOUR AREA-9-python으로 HTML+js 자동수정 (0) | 2022.09.17 |
[Web]Fanseive_backgroundmaker-7-AWS 구상 (0) | 2022.09.16 |
[Web]Fanseive_backgroundmaker-6-인스타그램계정_이미지크롤링2 (0) | 2022.09.15 |
[Web]Fanseive_backgroundmaker-5-인스타그램계정_이미지크롤링1 (0) | 2022.09.14 |