편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.01.09

    soup으로 가져와서 특정 클래스가 있을경우에만 실행하고싶어요


    아프리카BJ가 방송을 시작하면 특정코드를 실행시키는 프로그램을 만드려는데요

    BJ방송국 홈페이지를 보면 방송을 할때만 live 클래스가 있더라구요

    그래서 BJ방송국 홈페이지를 일정주기로 크롤링하다가 live 클래스가 있으면 특정 코드를

    실행시키고싶은데 비교하는 부분에서 막혀서 도움을 구합니다 아래는 소스중 일부입니다

    url2 = 'http://bj.afreecatv.com/devil0108'
    driver = webdriver.Chrome()
    driver.implicitly_wait(3)
    driver.get(url2)
    
    html = driver.page_source
    soup = BeautifulSoup(html, 'html.parser')
    
    r = soup.select('.live')
    
    if r == '<span class="live">LIVE</span>':
        driver.close()
        print("생방중")
    
    else:
        driver.close()
        print("생방중아님")
    
    

    일단 자바스크립트때매 셀레늄으로 홈열어서 r에 live클래스를 저장하고 프린트 해봤더니

    <span class="live">LIVE</span> 이렇게 표시되더라구요

    그래서 r이 <span class="live">LIVE</span>면 아래 코드를 실행시키고싶은데

    비교하는 부분을 잘못했는지 생방중이 아니라고만 나와서

    if 부분을 True로도해보고 "" 으로 해봐도 안되서 도움을 구합니다

  • 프로필 nyw123님의 편집
    날짜2020.01.09

    soup으로 가져와서 특정 클래스가 있을경우에만 실행하고싶어요


    이미지 아프리카BJ가 방송을 시작하면 특정코드를 실행시키는 프로그램을 만드려는데요

    BJ방송국 홈페이지를 보면 방송을 할때만 live 클래스가 있더라구요

    그래서 BJ방송국 홈페이지를 일정주기로 크롤링하다가 live 클래스가 있으면 특정 코드를

    실행시키고싶은데 비교하는 부분에서 막혀서 도움을 구합니다 아래는 소스중 일부입니다

    ''' url2 = 'http://bj.afreecatv.com/devil0108' driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get(url2)

    html = driver.page_source soup = BeautifulSoup(html, 'html.parser')

    r = soup.select('.live')

    if r == 'LIVE': driver.close() print("생방중")

    else: driver.close() print("생방중아님")

    '''

    일단 자바스크립트때매 셀레늄으로 홈열어서 r에 live클래스를 저장하고 프린트 해봤더니

    LIVE 이렇게 표시되더라구요

    그래서 r이 LIVE면 아래 코드를 실행시키고싶은데

    비교하는 부분을 잘못했는지 생방중이 아니라고만 나와서

    if 부분을 True로도해보고 "" 으로 해봐도 안되서 도움을 구합니다

    클래스 프린트한 부분이 표시가안되서 사진으로도 첨부합니다