파이썬으로 크롤링 시 클래스명이 다른 부분을 크롤링하는 조건문
조회수 1829회
파이썬으로 Selenium과 BeautifulSoup을 이용해 크롤링 중 입니다.
wlist = list(range(10))
driver = webdriver.Chrome('//chromedriver')
driver.get('url')
time.sleep(1)
for i in wlist:
thumb = driver.find_elements_by_class_name('tit_area')
thumb[i].click()
time.sleep(1)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
w_title = soup.find('span', {'class': 'tit_toon'})
print(w_title.text.strip())
w_pdate_e = soup.find_all('p', {'class': 'epsode_date'})
if w_pdate_e != None:
print(w_pdate_e[0].text.strip())
print(w_pdate_e[-1].text.strip())
else:
pass
w_pdate_t = soup.find_all('td', {'class': 'toon_date'})
if w_pdate_t != None:
print(w_pdate_t[0].text.strip())
print(w_pdate_t[-1].text.strip())
else:
pass
driver.back()
time.sleep(1)
다음과 같이 텍스트를 긁어올때 페이지 마다 어떤 페이지는 클래스 명이 'epsod_date'라고 되어있고 어떤 페이지는 'toon_date' 라고 되어있을 때 조건을 어떻게 해야 둘다 가져올 수 있나요??
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
import requests from bs4 import BeautifulSoup as bs url1 = 'https://toptoon.com/weekly/ep_list/hug_me_boss' # toon_date url2 = 'https://toptoon.com/weekly/ep_list/she_NA' # epsode_date r = requests.get(url1) s = bs(r.text,'html.parser') title = s.find_all('span', {'class': 'tit_toon'}) update = s.find('p', {'class': 'epsode_date'}) if s.find('p', {'class': 'epsode_date'}) is not None else s.find('td', {'class': 'toon_date'}) #update = s.find_all('p', {'class': 'epsode_date'}) if s.find_all('p', {'class': 'epsode_date'}) != [] else s.find_all('td', {'class': 'toon_date'})
find_all 로 하게될때 결과값이 없을때 [] 로 return합니다. None 으로 반환하는게 아니라 위 코드중 주석과 같이 처리하셔야 합니다.
근데 epsode_date 가 오타가 아니네요 ㅡ.ㅡ;;
- 감사합니다! 혹시 이미지를 크롤해 올때 어떤 이미지 소스는 .jpg가 붙어있고 어떤 소스는 안붙어 있을때 가져올 수 있는 방법이 있을까요?? 알 수 없는 사용자 2020.9.16 13:38
- 죄송한데.. 질문하실때 구체적으로 질문해주실수있나요? '어떤페이지'에선 jpg 붙어있고 안붙어있다면 말씀하시면' 어떤 페이지'까지 인지까지 찾아가면서... 하기엔 좀 그렇네요 간단한 예시라도 포함해서 말씀해주세요 김호원 2020.9.16 13:51
- 죄송합니다!! http://www.yes24.com/Product/Goods/58397337 이 사이트에 이미지는 jpg 가 안붙어 있는데 http://www.yes24.com/Product/Goods/58412700 이 페이지는 jpg가 붙어있더라구요 어떻게 해야할까요?? 알 수 없는 사용자 2020.9.16 14:01
- 이미지는 책의 메인 이미지 입니다 알 수 없는 사용자 2020.9.16 14:03
- 아예 다른 질문이라서 별도 질문글올리시면 답변드렸을거같은데 :) 해당 확장자 없어도 똑같은 jpg(0xffd8ffe0) 파일이기 때문에 해당 주소 요청하면 되는데 다운로드가 목적이신가요? 김호원 2020.9.16 14:25
- https://hashcode.co.kr/questions/11489/%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC-%ED%81%AC%EB%A1%A4%EB%A7%81%ED%95%98%EC%97%AC-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%ED%95%A0%EB%95%8C-%EC%83%9D%EA%B8%B0%EB%8A%94-%EC%98%A4%EB%A5%98 별도의 질문 글을 올렸습니다!! 알 수 없는 사용자 2020.9.16 14:52
댓글 입력