BeautifulSoup에서의 크롤링(Update중)

Ganapati·2022년 10월 16일
0

Python개발노트

목록 보기
1/2

크롤링 차단 방지 코드

# 유저의 접속정보를 같이 넘기는 방법
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('URL',headers=headers)

Find_all

find_all의 경우 해당하는 array를 넘기며 예시는 다음과 같다.

# array를 넘기기 때문에 for문과 같이 써줘야 한다
for tr in soup.find_all("tr", class_="list"):

Find

Find문과 get_tex(), strip 문의 조합으로 Text를 가져온다.

#a Tag의 Class이름이 title ellipsis인 것을 가져오는 예시
#Find의 경우 get_text() method를 써줘야 Text가져오는 것이 가능하다.
#Strip 메소드 ~ SQL Trim
title = item.find("a", class_="title ellipsis").get_text().strip()

Select

select()의 사용방법은 soup.select('찾는 정보')

  • soup.select('태그명') : 태그를 입력으로 사용하는 경우
  • soup.select('.클래스명') : 클래스를 입력으로 사용하는 경우
  • soup.select('#아이디') : ID를 입력으로 사용할 경우
  • soup.select('상위태그명 하위태그명') : 자손 관계(어떤 태그 내부에 있는 모든 태그를 자손이라고 함
  • soup.select('상위태그명 > 하위태그명') : 자식 관계(어떤 태그 내부에 있는 태그 중 바로 한단계 아래에 있는 태그를 자식이라고 함)

? 하위 태그 클래스에서 space가 있을 경우 어떻게 처리하는지 아직도 애매모호 하다.

0개의 댓글