스팀, 티스토리를 거쳐 네이버 블로그 작업을 시작했다.
티스토리는 이미지 API와 테스트를 아직 안 한 상태이지만 크게 어렵진 않을 듯하다.
네이버는 API가 없으니 작업이 쉽게 끝나진 않을거라 생각했는데 역시나...;
처음부터 네이버 블로그에 자동배포봇을 작업하기 위해 셀레니움을 염두에 두고 시작했다. 로그인과 에디터까지는 잘 진행되었는데 문제는 제목과 글을 붙이는 것이었다. 스마트에디터 one은 본문이나 제목에 글을 적으면 span에 텍스트 삽입하고 본문에서 엔터를 치면(다음 라인) 새로운 span이 동적으로 생성되면서 거기에 다음 라인의 텍스트가 들어가게 된다.
셀레니움으로 초기상태의 본문과 제목 span에 xpath로 접근해서 execute_script를 이용해 text를 집어넣으면 본문에 글씨가 띄워지긴 하는데 발행하려고 하면 제목이 입력이 안 된다고 뜬다. (글 붙인 걸 인식을 못함) 자바스크립트로 커서가 본문이나 제목에 놓인 상태에서 키가 입력된걸 감지하면 제목이나 본문이 입력되었다는 상태를 기록하는 뭔가가 있지 않나 싶다. 동적으로 바뀌는 걸 검사하면서 본문의 span들의 상위 p의 class에 is-empty-* 인지가 아무 것도 안 적혀있을 때 있다 글씨를 쓰면 지워져서 이것도 수동으로 바꿔봤지만 별 효과는 없다. 아.. js도 다 까먹어서 들여다보기가 너무 싫다. ㅋㅋㅋ; 템플릿을 써서 본문과 제목에 먼저 글씨를 입력하고 그 글씨에 덧붙여보려 했지만 그것도 실패했다. 어떻게 하면 될 것도 같은데 잘 모르겠음.
그래서 스마트에디어2.0으로 바꿔서 작업했더니 일단 이미지 삽입, 글도 모두 적용되고 발행까지 성공했다. 근데 또 문제가 있다. 스마트폰으로 블로그 글을 보면 진짜 별로임..스마트에디터 one은 글씨와 줄간 간격도 좀 널찍하고 보기 좋은데 반해 2.0은 스마트폰에선 그냥 고딕으로 다 통일되서 적용되고 줄간격도 더 붙어있어서 진짜 옛날 에디터 느낌이;; ㅠㅠ 그리고 글씨체 적용도 한계가 있고 PC에서 제목 크기 설정도 30까지 밖에 안 되며 one에 익숙해진 나로썬 너무 별로인 것이었다. ㅠ 그리고 PC에서 2.0으로 적은 글들은 스마트폰으로 수정도 안 된다. 아..폰에서 이미지 나란히 보이는 것도 안 됨. 후.. 골아프네.
- 무료 이미지호스팅 사이트 소개 👉 https://sub0709.tistory.com/125
이미지는 다른 이미지 호스팅서버에 올리고 주소를 가져오려는 계획으로 imgur와 imgbb, google photo를 모두 써보았다. (처음엔 티스토리에다 올릴까했지만...) imgur는 써봤더니 좀 별로다. 첫번째로 뭔가 좀 불안정하다. 앨범이 3개가 읽혔다 2개가 읽혔다 하기도 하고, 앨범에 이미지를 업로드했는데 에러가 계속 나더니 담날엔 또 들어간다.; 그리고 권한설정없는 private 이미지에 대한 기록이 안 남는다. 그냥 account 표기 없이 Anonymous 이미지로 올리면 그 이미지 링크를 알고 있는 사람만 그 이미지를 볼 수 있게 된다. 이때 이미지 링크와 함께 deletehash를 주는데 이거 기록 안 해 놓으면 그 이미지는 그냥 서버에서 표류하는건가..?내가 다 기록을 해놔야 한다. 문서를 뒤져봐도 이런 private image에 대해서 정보를 많이 못 찾았다... 오피셜 파이썬 패키지도 뭔가 만들어지다 만 것 같은 느낌이.. exception 처리가 좀..ㅋㅋㅋ;; 아 또 있다. tistory처럼 access token을 브라우저 url로 받아가지고..완자동 불가임.
imgur github(example 있음) 👉 https://github.com/Imgur/imgurpython/tree/48abc45a143ee9d2485c22a63b7cd55701d8163c
imgur api doc 👉 https://apidocs.imgur.com/#de179b6a-3eda-4406-a8d7-1fb06c17cb9c
이게 post로 upload image를 날렸을 때 응답 json. album id를 넣고 올리려고 했더니 무슨 iternal error가 나가지고;; 앨범id 안 넣고 보냈더니. 담날 앨범id넣고 보내니 이번엔 앨범에 잘 들어가네;;
{
'id': '2MD2Rxm',
'deletehash': 'sudvzlxLMMo38JY',
'account_id': None,
'account_url': None,
'ad_type': None,
'ad_url': None,
'title': 'test..',
'description': 'Cute kitten being cute on 2021-07-30 23:34:15.062364',
'name': 'test',
'type': 'image/png',
'width': 469,
'height': 428,
'size': 295803,
'views': 0,
'section': None,
'vote': None,
'bandwidth': 0,
'animated': False,
'favorite': False,
'in_gallery': False,
'in_most_viral': False,
'has_sound': False,
'is_ad': False,
'nsfw': None,
'link': 'https://i.imgur.com/2MD2Rxm.png',
'tags': [],
'datetime': 1627655655,
'mp4': '',
'hls': ''
}
imgbb는 사용법이 매우 단순하고 깔끔해서 마음에 들었는데 처음 들어본 이미지호스팅 사이트라서 좀 불안했다. 찾아보니 2012년도부터 있었던 듯한데 그래도 혹시 모르니. 결국 젤 신뢰가 가는 google photo를 쓸까해서 googleapis를 사용해서 이미지를 가져오는 것까지 테스트를 마쳤다. 근데... 에디터에서 다이렉트 링크를 받아서 넣으면 글의 대표이미지를 설정할 수가 없음..;; 그러다 셀레니움으로 이미지를 올릴 수 있어서 셀레니움으로 에디터에 삽입했다. (나 무슨 삽질을..껄껄) 나중에 사용해야지;;
- imgbb 👉 https://imgbb.com/
- google api v1 설명서 👉 https://developers.google.com/docs/api/quickstart/python
- photos library api 설명 👉 https://developers.google.com/photos/library/reference/rest
구글 api는 뭐가 그리 복잡한지(응답값도 주는게 너무 많다;) 피곤해서 난독증 상태오면 진짜 들여다보기 싫은데 또 보면 나름 규칙이 있어서. 너가 뭘 좋아할지 몰라 다 준비했어 그런느낌.. 튜토리얼 있어서 그거 조금 바꾸면 금방 쓸 수 있다.
흠.. 그리하여 네이버블로그는 쓸려면 에디터 2.0.을 써야 하는데. 올린 다음에 ONE 에디터에 복붙을 해서 다시 올린다? 그러면 자동의 의미가 있나...쩝. (이 말은 티스토리 작업 일지에도 쓴 듯. ㅋㅋㅋ;)
결국 완자동은 힘들고 반자동으로 가야하는군. 자동은 스팀잇밖에 안 되는군 ㅋㅋ;