paint-brush
ChatGPT와 JavaScript를 사용하여 베를린으로 이사한 방법~에 의해@isaksolheim
804 판독값
804 판독값

ChatGPT와 JavaScript를 사용하여 베를린으로 이사한 방법

~에 의해 isak.me3m2023/12/17
Read on Terminal Reader

너무 오래; 읽다

저는 wg-gesucht.de에 게시된 모든 새 목록에 개인화된 상황 인식 메시지를 자동으로 보내는 봇을 구축했습니다. 봇이 베를린에 있는 아파트를 찾아줬어요!
featured image - ChatGPT와 JavaScript를 사용하여 베를린으로 이사한 방법
isak.me HackerNoon profile picture
0-item
1-item

TLDR : 저는 wg-gesucht.de 에 게시된 모든 새 목록에 개인화된 상황 인식 메시지를 자동으로 보내는 봇을 구축했습니다. 봇이 베를린에 있는 아파트를 찾아줬어요!


이 프로젝트의 기술적인 측면에 관심이 있다면 이 기사를 읽으면서 자유롭게 코드를 살펴 보세요!

소개

Technische Universität Berlin에서의 교환 학기가 다가오자 나는 살 곳을 찾기 시작했습니다. 베를린에 기존 네트워크가 없었기 때문에 저는 웹사이트 wg-geuscht.de를 사용하여 잠재적인 아파트 공유자에게 연락했습니다. 이는 매우 반복적인 프로세스였기 때문에 자동화하기로 결정했습니다.

JavaScript로 지루한 작업을 자동화하세요

wg-gesucht.de 에서 내 가격대에 있는 모든 신규 아파트에 대한 이메일 알림을 설정하고 푸시 구독 과 함께 Google Clouds Pub/Sub 서비스를 사용하여 내 Gmail 받은편지함으로 들어오는 이메일을 감시했습니다.


새 이메일이 도착하면 서비스에서 내 서버에 웹훅 알림을 보냅니다.

이메일 분석

Express를 사용하여 JavaScript로 작성된 서버에서 Gmail 받은 편지함의 최신 이메일을 읽고 Regex로 구문 분석하여 이메일에 wg-geuscht 목록에 대한 링크가 포함되어 있는지 확인했습니다.

목록 탐색

각 목록에 대해 엔드투엔드 테스트 프레임워크인 Playwright를 사용하여 Chromium 브라우저를 생성했습니다. 이를 통해 웹사이트를 직접 상호작용할 때와 마찬가지로 웹사이트를 탐색할 수 있었습니다. 내 계정에 로그인하고 목록 설명을 기록한 다음 메시지 보내기를 눌렀습니다.

GPT-3.5 Turbo를 사용하여 메시지 생성

메시지는 다음 프롬프트와 함께 GPT-3.5 Turbo를 사용하여 생성됩니다.

 const prompt = ` Can you spice up the following text: "${starterText}" The updated text should explain why I would fit in the flatshare with the following listing text: "${listingText}". Add some emojies as well. Mention that my semester is from September to March, so a stay for that perioud would be ideal (but Im always flexible)! And if the listing is written in German, the answer should be in German as well. And if the listing says I need to say a specific word, start the whole text with that word! `;

생성된 메시지는 내 사진 몇 장과 함께 전송되었습니다.

결과

목록이 실시간으로 게시된 후 내 봇이 응답을 보내는 데 걸리는 시간은 약 10초로, 제가 첫 번째 응답자가 될 수 있다는 자신감을 갖게 되었습니다. 이것이 나에게 아파트를 확보해 준 응답이었습니다.

 Hallo zusammen! 🦄 Das scheint ja eine richtig coole WG zu sein, in die ich perfekt reinpassen würde! 😄 Ich bin Isak und ich glaube, dass ich perfekt in dein WG-Zimmer passen würde! Mein Semester in Berlin geht von September bis März, also wäre ein Aufenthalt für diesen Zeitraum ideal (aber ich bin auch immer flexibel!). Die Lage der Wohnung klingt super, besonders die Nähe zum RAW-Gelände und zum Boxhagener Platz. Und hey, eine Tram-Station direkt vor der Tür ist auch genial! 🚋 Die Wohnung hört sich toll an, mit Balkon, Badewanne und Waschmaschine. Da fühlt man sich doch gleich wie zuhause! Wenn du Interesse hast, würde ich mich freuen, von dir zu hören. 📞 Liebe Grüße und hoffentlich bis bald! Isak PS Wenn die Anzeige auf Deutsch ist, dann antworte ich auch gerne auf Deutsch. Aber sei gewarnt, mein Deutsch ist manchmal etwas holprig. Ich verstehe nur Bahnhof! 😄


마무리 생각

돌이켜보면 이메일 알림에 수동으로 응답하는 것보다 봇을 만지작거리는 데 더 많은 시간을 소비했습니다. 하지만 그런 점에서 저는 이 프로젝트가 어떻게 진행되었는지에 만족합니다. 나는 봇이 보내는 어리석은 응답으로 인해 많은 웃음을 얻었고 사람들이 나에게 다시 응답하는 빈도가 눈에 띄게 증가했습니다(아마도 내가 그들의 첫 번째 응답자였기 때문일 것입니다).


최근에 봇을 다시 가동하려고 시도했지만 6월 검색 이후 해당 사이트에 보안 문자 확인이 구현되었습니다. 이것이 더 나을 수도 있습니다. 내가 아는 바로는 많은 목록 자체가 ChatGPT를 사용하여 생성되었습니다.