2017-01-10 29 views
2

私はこのページをクロールしようとします:http://www.11st.co.kr/html/main.html しかし、いくつかの問題があります。 まず、Scrapyはjavascriptを解釈できません。 は、私はそのボタン(赤い四角1)Web Scrapy !! Clickイベントデータを使用してクロールするにはどうすればよいですか?

サイトscreencapture

enter image description here

でも私はセレンを使用することはできませんに再びクロールするために、いくつかの「HREF」データを取得したいです。 ボタンコードがスクリプト内にあるためです。 xpathが見つかりません。

<script id="headerNavigationTemplate" type="text/x-handlebars-template"> 
    {{#ifCond templateType '===' 'main'}} 
    <nav class="header_gnb" id="gnbNavArea"> 
    {{else}} 
    <div class="header_gnb" id="gnbNavArea"> 
    {{/ifCond}} 
     <div class="inner"> 
      <h1 class="hide">대메뉴</h1> 
      <div class="gnb_l"> 
       <div class="gnb_nav gnb_nav_category" id="gnbCategoryArea"> 
        <p name="gnbNavBtn"><button type="button" class="gnb_btn_all" data-ga-event-category="PC_GNB" data-ga-event-action="전체보기 버튼" data-ga-event-label=""><span class="in_btn"><span class="ico"></span>전체보기</span></button></p> 
        <div class="gnb_nav_category_layer"> 
         <div class="gnb_total_category"> 
          <div class="row" id="navCtgrRow1"></div> 
          <div class="row" id="navCtgrRow2"></div> 
          <div class="row" id="navCtgrRow3"></div> 
          <div class="row" id="navCtgrRow4"></div> 
          <div class="row" id="navCtgrRow5"></div> 
          <div class="row" id="navCtgrRow6"></div> 
          <div class="row" id="navCtgrRow7"></div> 
          <div class="row" id="navCtgrRow8"></div> 
          <div class="row" id="navCtgrRow9"></div> 

は私がクロールできるか

//div[@class = "gnb_total_category"]/div 

に隠れデータを取得したいです。 私を助けてください。

+0

を。そのページのソースコードにjsonデータがある場合は、xpathを使用してそのデータを抽出して処理します。それ以外の場合は、ロードされている他のファイルを調べる必要があります(chromeでは、inspect - networkタブが参考になります)。必要なデータがどこから来ているのかを正確に突き止めてみてください。 – Casper

+0

@金惠ージは、あなたが得たいと思う正確な出力を表示します – Andersson

答えて

0

必要なデータを取得するために、次のスクリプトを試してみてください:JSONデータのためのソースコードを確認してください

from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get('http://www.11st.co.kr/html/main.html') 
driver.find_element_by_xpath("//span[contains(text(), '전체보기')]").click() 
print(driver.find_element_by_xpath('//div[@class="gnb_total_category"]/div').text) 
+0

ありがとう!私は間違いがあった。あなたの言いたいことをありがとう、今私は解決した – Amily

関連する問題