일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- string to list
- 알고리즘
- Selenium
- Chat-GPT
- 크롤링
- 셀레니움
- 플라스크
- 웹페이지
- Python
- 인스타그램
- python buildpacks
- 백준
- clustering
- 해시태그
- plotly dash
- 괄호 문제
- flask
- convert to shp
- geopandas
- to shp
- Crawling
- 파이썬
- geoDataFrame
- 2164 카드2
- NLP
- 코랩 런타임
- Merge Repositories
- kmeans
- colab runtime
- 혁신성장부문
- Today
- Total
목록파이썬/텍스트마이닝 (12)
코딩코딩코딩
협업 필터링 (Collaborative Filtering, CF)이란 여러 사용자들로부터 얻은 기호 정보에 따라 다른 사용자들의 관심사를 예측하게 해주는 방법 이라고 정의됩니다. 협업 필터링에서 중요한 것은 "여러 사용자들로부터 얻은 정보"입니다. 협업 필터링에는 크게 [사용자 기반 추천, 아이템 기반 추천] 두 가지가 있습니다. 1) 사용자 기반 추천 (User-based Recommendation) 비슷한 성향을 지닌 사용자를 기반으로 분석해서 추천해주는 방식입니다. A라는 사람이 [햄버거, 감자튀김, 콜라]를 구매하고, B라는 사람은 [햄버거, 콜라]를 구매하려 한다고 가정해보겠습니다. 이 둘의 구매목록을 보면 이 둘은 유사하다고 인식되어 B에게 감자튀김을 추천해줍니다. 2) 아이템 기반 추천 (I..
이전에 작성했던 셀레니움을 통해 접속, 검색필터 설정 + 영상 정보 크롤링 코드를 합쳐서 작성했습니다. import time from selenium import webdriver from selenium.webdriver.common.keys import Keys import pandas as pd driver_path = "C:\\Users\\Rectworks\\PycharmProjects\\chromedriver\\chromedriver.exe" driver = webdriver.Chrome(driver_path) driver.implicitly_wait(5) # or bigger second start_url = "https://www.youtube.com" driver.get(start_url)..
지난번 글은 셀리니움을 통해 유튜브에서 필터링 설정을 했습니다. 이번에는 셀레니움으로 접속하는 것이 아니라 url을 미리 설정하여 접속한 뒤 크롤링을 진행하도록 하겠습니다. 이후에 셀레니움으로 접속해서 필터링을 설정한 후 크롤링할 예정입니다. import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC def get_image_title(url): # 웹 드라이버 초기화 driver_path = "..
셀레니움을 사용해서 Youtube 검색창 - 필터 설정 # Import Library import requests from bs4 import BeautifulSoup import time import urllib.request from selenium.webdriver import Chrome import re from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys import datetime as dt 필요한 라이브러리를 불러옵니다. 셀레니움을 사용하기 위해서는 최신 크롬버전, chromedriver.exe 파일이 필요합니다. path = "C:\\Users\\Rectwork..
이전까지 작성했던 내용들은 인스타그램 게시물을 모두 가져오고 난 후에 데이터프레임 형식으로 변환하여 기간을 설정하려고 했었습니다. 이번에는 코드를 수정하여 기간을 설정하고 난 후에 함수를 실행해 그 기간 사이에 있는 게시물들만 크롤링해오려고 합니다. 기존 selenium에서 page scroll을 통해 모든 게시물의 링크를 가져온 후 링크를 읽어들였는데, 이 방법이 아니라 링크를 가져온 후 하나하나씩 읽어가며 날짜를 비교하는 방식으로 코드를 짰습니다. 최초 스크롤 시 게시물이 33개 읽히며 이후 스크롤마다 12개의 게시물을 읽을 수 있습니다. 이 때 임시 리스트를 만들어서 12개의 게시물을 추가한 후 12개의 게시물 모두 설정 기간 내에 존재하지 않는 글이면 함수를 종료하는 방식입니다. (게시물 중간중간..
지난 번 마지막 코드에서 인스타그램 pc버전에서는 중간에 뜬금없는 날짜의 게시물이 올라와서 다음 게시글의 시간과 비교하는 코드를 넣었었습니다. 이렇게 해보니 코드 효율성이 너무 떨어서 시간이 배로 걸려 코드를 수정했습니다. 다음 게시글의 timestamp를 확인하는 것이 아니라 전 게시물의 것을 확인해서 비교했습니다. 전 게시물 같은 경우에는 date_list라는 리스트에 이미 날짜를 변환해서 넣어놨기 때문에 날짜를 다시 timestamp로 변환하는 과정을 거친 후, timestamp 기준 하루(86400) 이상 차이가 나면 pass하도록 했습니다. 추가적으로 계정 명에 shared on instagram 같은 것이 포함돼서 수정하는 코드도 포함했습니다. def to_timestamp(std_date):..