일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프롬프트 엔지니어링
- jd
- 프로젝트
- cross join
- 히트맵
- da
- 군집화
- 데이터 분석
- Chat GPT
- GA4
- 클러스터링
- 기초통계
- If
- lambda
- 크롤링
- SQL
- 데이터분석
- streamlit
- pandas
- 전처리
- 머신러닝
- SQLD
- Python
- 태블로
- 서브쿼리
- data analyst
- 시각화
- 팀프로젝트
- 최종 프로젝트
- 기초프로젝트
Archives
- Today
- Total
세조목
TIL(Today I Learned) 94일차(24.03.19) 본문
크롤링
최종 프로젝트에서 비정형 데이터를 다뤄보기위해 현재 크롤링을 학습하고 있습니다.
크롤링에 사용되는 python 라이브러리는 requests, beautifulsoup, selenium 크게 세가지입니다.
금일은 requests와 beautifulsoup만을 가지고서 학습을 진행했습니다.
import requests
from bs4 import BeautifulSoup
base_url = "https://search.naver.com/search.naver?sm=tab_hty.top&ssc=tab.blog.all&query="
keyword = input("검색어를 입력하세요 : ")
url = base_url + keyword
print(url)
headers = {
"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
}
req = requests.get(url, headers = headers)
html = req.text
soup = BeautifulSoup(html, "html.parser")
# 빈 칸은 .으로 바꿔줘야 함
contents = soup.select(".dsc_link")
names = soup.select(".name")
for result in zip(contents, names):
print("본문 : ", result[0].text)
print("작성자 : ", result[1].text)
print("url : ", result[1]['href']) # url 가져오기
print()
위 코드가 금일 작성한 코드로
- 라이브러리 설치
- 라이브러리 불러오기
- url을 가지고서 데이터 불러온 후 보기 좋게 가공하기
- 웹사이트측에서 접근을 불허할 경우 user-agent를 건드려서 접근하는 방법
등을 진행했습니다.
'데이터 분석 공부 > TIL(Today I Learned)' 카테고리의 다른 글
TIL(Today I Learned) 96일차(24.03.21)(크롤링-selenium, PCA) (0) | 2024.03.21 |
---|---|
TIL(Today I Learned) 95일차(24.03.20)(feat. 크롤링) (1) | 2024.03.20 |
TIL(Today I Learned) 93일차(24.03.18) (0) | 2024.03.18 |
TIL(Today I Learned) 92일차(24.03.15) (0) | 2024.03.15 |
TIL(Today I Learned) 91일차(24.03.14) (0) | 2024.03.14 |