일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인스타그램
- Merge Repositories
- string to list
- 웹페이지
- 백준
- kmeans
- geopandas
- 해시태그
- 셀레니움
- 알고리즘
- clustering
- flask
- to shp
- 괄호 문제
- NLP
- convert to shp
- 파이썬
- colab runtime
- python buildpacks
- geoDataFrame
- 혁신성장부문
- 크롤링
- 플라스크
- 2164 카드2
- Chat-GPT
- 코랩 런타임
- Selenium
- Python
- Crawling
- plotly dash
- Today
- Total
목록인스타그램 (5)
코딩코딩코딩
이전까지 작성했던 내용들은 인스타그램 게시물을 모두 가져오고 난 후에 데이터프레임 형식으로 변환하여 기간을 설정하려고 했었습니다. 이번에는 코드를 수정하여 기간을 설정하고 난 후에 함수를 실행해 그 기간 사이에 있는 게시물들만 크롤링해오려고 합니다. 기존 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..