본문 바로가기
학습 log (이론)/python

'웹 크롤링' 기본

by abbear25 2020. 3. 15.

웹 페이지 호출

#pip install requests
import requests

page = requests.get("https://www.naver.com") #url 주소 page 가져오기
page.text #해당 page 구성정보 가져오기

 

CSS 기본

<!--모든 li 태그의 색과 글자 사이즈 변경-->
li{
	color:red;
    font-size: 14px;
}


<!--#아이디 태그의 색과 글자 사이즈 변경-->
#green-tea{
	color:green;
    font-size: 14px;
}
<li id="green_tea">녹차</li> <!--아이디는 여러 태그가 가질 수 없으므로 단일 태그에 대한 속성만 변경-->


<!--.클래스 태그의 색과 글자 사이즈 모두 변경-->
.favorite{
	color:red;
    font-size: 14px;
}
.important{
	color:red;
    font-size: 15px;
}
<li class="favorite">아이스 아메리카노</li> <!--클래스는 여러 태그가 가질 수 있으므로 여러 태그에 대한 속성 일괄 변경-->
<li class="favorite important">아포카토</li> <!--여러 속성을 부여하고 싶은 경우 띄어쓰기로 구분-->


<!--alt속성 값이 green-tea인 태그의 가로길이 변경-->
[alt='green-tea']{
	width: 300px;
}
<img src='https://www.naver.com' alt='green-tea'/><!--img의 가로길이 300px로 변경-->


<!--,를 이용하여 클래스명이 one 또는 three이면 속성 변경 (or 연산)-->
.two, .three{
	color:red;
}


<!--클래스명이 one과 three 둘다를 포함하고 있으면 속성 변경 (and 연산)-->
.one.two{
	color:red;
}
<p class="one two">아이스크림1</p>
<p class="two">아이스크림2</p>
<p class="three">아이스크림3</p>


<!--P태그 안에 존재하는 i태그 속성만 변경-->
p i{
	color:red;
}


<!--P태그 안에 존재하는 .private 클래스 속성만 변경-->
p i{
	color:green;
}
<i>메인</i>
<p>
	<i>세컨드1</i>
 	<i>세컨드2</i>
   	<i class="private">세컨드3</i>
</p>

https://www.w3schools.com/

https://gist.github.com/magicznyleszek/809a69dd05e1d5f12d01

 

BeautifulSoup 기본

import requests
from bs4 import BeautifulSoup

page = requests.get("https://www.naver.com")
html_page = page.text
soup = BeautifulSoup(html_page, 'html.parser') #beautifulsoup html parser 사용
print(type(soup))#타입 확인

li_separate = soup.select('li') #li 태그 모두 선택
#print(li_separate)
print(li_separate[0]) #가져온 첫번째 값 전체 확인
print(li_separate[0].text) #첫번째 값 li 태그 내에 내용 확인

tag_item = [] #리스트 생성

#for문을 이용하여 가져온 li태그 내에 내용만 이어 붙이기
for li in li_separate:
    tag_item.append(li.text)
    
print(tag_item) #결과 출력

img_separate = soup.select('img') #img 태그 모두 선택

print(img_separate[0]["src"]) #첫번째 값 img 태그 내에 src 값 확인

img_item = [] #리스트 생성

#for문을 이용하여 가져온 img태그 내에 src 내용만 이어 붙이기
for img in img_separate:
    img_item.append(img["src"])

print(img_item) #결과 출력

 

반응형

'학습 log (이론) > python' 카테고리의 다른 글

'파이썬 사용법' 흝어보기  (0) 2020.07.22
'데이터 분석 2'  (0) 2020.03.10
'데이터 분석'  (0) 2020.03.05
'통계 분석'  (0) 2020.03.04
'Seaborn'  (0) 2020.03.04