일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- geoDataFrame
- colab runtime
- clustering
- convert to shp
- 파이썬
- plotly dash
- Crawling
- 알고리즘
- 괄호 문제
- 셀레니움
- NLP
- 인스타그램
- 플라스크
- 해시태그
- flask
- 백준
- Merge Repositories
- python buildpacks
- geopandas
- 2164 카드2
- string to list
- 크롤링
- Python
- Selenium
- 코랩 런타임
- Chat-GPT
- to shp
- 웹페이지
- kmeans
- 혁신성장부문
- Today
- Total
목록파이썬 (22)
코딩코딩코딩
작성했던 코드들을 에디터 없이 exe로 돌릴 수 있는 방법 중 하나인 exe 파일 만드는 법을 작성하려고 합니다. 먼저 pyinstaller 라이브러리를 설치해주셔야 하는데 exe로 만들기 윈하는 .py 파일이 있는 폴더에서 shift + 우클릭 -> 여기서 명령 창 열기를 눌러주신 후에 pip install pyinstaller 를 실행해주시면 됩니다. 이후 다시 cmd창을 켜고 파일이 있는 디렉토리로 이동합니다 (cd PycharmProjects 이런 식으로 cd를 붙이고 작성하시면 됩니다.) 파일이 있는 디렉토리까지 이동하신 다음에 pyinstaller --onefile 파일명.py 를 입력합니다. 그러면 해당 폴더에 dist라는 폴더가 생성되고 이 안에 exe파일이 생성된 것을 확인하실 수 있습니..
이전까지 작성했던 내용들은 인스타그램 게시물을 모두 가져오고 난 후에 데이터프레임 형식으로 변환하여 기간을 설정하려고 했었습니다. 이번에는 코드를 수정하여 기간을 설정하고 난 후에 함수를 실행해 그 기간 사이에 있는 게시물들만 크롤링해오려고 합니다. 기존 selenium에서 page scroll을 통해 모든 게시물의 링크를 가져온 후 링크를 읽어들였는데, 이 방법이 아니라 링크를 가져온 후 하나하나씩 읽어가며 날짜를 비교하는 방식으로 코드를 짰습니다. 최초 스크롤 시 게시물이 33개 읽히며 이후 스크롤마다 12개의 게시물을 읽을 수 있습니다. 이 때 임시 리스트를 만들어서 12개의 게시물을 추가한 후 12개의 게시물 모두 설정 기간 내에 존재하지 않는 글이면 함수를 종료하는 방식입니다. (게시물 중간중간..
지난 번 마지막 코드에서 인스타그램 pc버전에서는 중간에 뜬금없는 날짜의 게시물이 올라와서 다음 게시글의 시간과 비교하는 코드를 넣었었습니다. 이렇게 해보니 코드 효율성이 너무 떨어서 시간이 배로 걸려 코드를 수정했습니다. 다음 게시글의 timestamp를 확인하는 것이 아니라 전 게시물의 것을 확인해서 비교했습니다. 전 게시물 같은 경우에는 date_list라는 리스트에 이미 날짜를 변환해서 넣어놨기 때문에 날짜를 다시 timestamp로 변환하는 과정을 거친 후, timestamp 기준 하루(86400) 이상 차이가 나면 pass하도록 했습니다. 추가적으로 계정 명에 shared on instagram 같은 것이 포함돼서 수정하는 코드도 포함했습니다. def to_timestamp(std_date):..
앞에서 했던 작업들을 모두 함수로 만들어서 작업했습니다. # Create Empty List & Parameter Setting url = 'http://www.instagram.com' path = 'C:\\Users\\rectworks\\Downloads\\chromedriver_win32\\chromedriver.exe' SCROLL_PAUSE_TIME = 3.0 ID = 'user_id' PW = 'password' post_link = [] popularPost_len = [] id_list = [] like_list = [] tag_list = [] link_list = [] date_list = [] month_list = [] day_list = [] def instagram_login(i..
지난 번 내용과 이어서 해시태그와 좋아요, 날짜등을 가져오는 함수를 만들어보도록 하겠습니다. SCROLL_PAUSE_TIME = 2.0 post_link = [] while True: pageString = driver.page_source # page_source : 현재 렌더링된 페이지의 Elements를 모두 가져옴 bsObj = bs(pageString, 'lxml') for postline in bsObj.find_all(name='div', attrs={"class":"Nnq7C weEfm"}): a_len = len(postline.select('a')) # 인스타그램 게시물은 행별로 최대 3개까지 확인할 수 있는데, 최근게시물이나 마지막 게시물은 1,2개가 나올 수도 있어서 len 지정 f..
1. Selenium 기반 웹 크롤링 기법 2. 해시태그, 좋아요 등의 정보 크롤링 3. 인스타그램 해시태그와 좋아요 수를 크롤링한 후 각자 개수를 비교해서 어떤 영향을 미치는지 확인할 것 - 키워드 네트워크 분석기법 활용 # Selenium Basic command 1. driver.get('url') : 페이지 접속 2. elem = driver.find_element_by_name('q') : 커서를 검색어 입력 부분에 위치시킴 - find_by_class_name or find_by_xpath 등도 가능 (xpath는 html 검사 시 우클릭>xpath copy로 복사 가능 3. elem.clear() : 검색어 부분 입력내용 삭제 4. elem.send_keys('내용') : 내용 입력 5. e..