본문 바로가기

개발40

사이트의 HTML 문서 가져오기 어떤 사이트든 HTML문서를 가져올 수 있다. 다음과 같이 requests.get(url)을 하면 그 응답이 담기게 되고, 에러가 없을 경우 .text를 하면 코드가 텍스트 형태로 담기게 된다. .json을 하면 json형태로 담기는 것도 같은 방식이라고 생각한다. 또한, BeautifulSoup라는 것을 이용하면 그 코드를 쉽고 간편하게 원하는 것만 가져올 수 있는 기능을 사용할 수 있다. soup = BeautifulSoup(response.text, 'html.parser') shipping_result = soup.select_one('table.table_col > tbody > tr:first-child > td:last-child') 예를 들어 다음과 같이 작성한다면 html을 쉽게 파싱할 .. 2023. 5. 31.
sqlalchemy event.listens_for 방금 sqlalchemy 문법의 event.listens_for 문법에 대해 배웠다. 형식은 아래와 같다. ArtworkLike table에 뭔가가 들어온다면 그 전에 실행하게 되는 부분이다. 데이터베이스를 추가하거나 삭제하는건 괜찮은데, 업데이트 할 때는 commit이 되지 않는 부분이 생겼다. 알고보니 session이 복제되었기 때문에 query문에 with_session(session)을 추가시켜주어 session을 명시해주니 해결되었다. 2023. 5. 10.
원격 저장소에 해당 branch가 없을 때 git push 명령어를 입력했을 때 아래와 같은 에러가 났다. 이 에러는 현재 로컬 브랜치 'yk'가 원격 저장소의 어떤 브랜치와도 연결되어 있지 않다는 의미이다. 이 때는 두 가지 방법이 있다. 1. 명령어를 실행할 때 연결할 브랜치를 명시적으로 지정 git push -u : remote_name : 원격 저장소 이름 local_branch_name : 로컬 브랜치 이름 remote_branch_name : push 할 원격 저장소의 브랜치 이름 예를 들어 로컬 yk브랜치의 내용을 원격 저장소의 main브랜치에 올리고 싶다면 -u 옵션은 로컬 브랜치와 원격 브랜치의 연결을 유지하게 한다. (--set-upstream 옵션과 동일) git push -u origin yk:main 처럼 하면 된다. 2... 2023. 4. 13.
포트 번호가 이미 사용중일 때 작업을 종료시키는 방법 근로에서 평소대로 flask run 을 실행하여 로컬서버를 실행하려고 하였다. 그런데 다음과 같은 에러가 출력되었다. 이런 적이 없었기에 당황하였지만 포트 번호로 접근하여 모두 종료시키면 될 것이라고 생각하였다. 1. lsof -i :5000 위 명령어는 포트 번호 5000번에 접근하여 어떤 프로그램이 실행중인지 알 수 있는 명령어이다. 2. 2열에 있는 pid 넘버를 kill 명렁어의 인자로 넣어준다. kill의 -9 option을 이용하여 pid 22371의 작업을 종료시켜주었더니 아래 작업들이 사라지게 되었다. 다시 flask run으로 서버를 실행하니까 연결이 잘 되었다! ㅎㅎ 2023. 4. 13.