2017-01-10 2 views
2

Ich versuche, diese Seite zu crawlen: http://www.11st.co.kr/html/main.html aber es gibt einige Probleme. Erstens kann Scrapy Javascript nicht interpretieren. Ich möchte einige ‚href‘ Daten erhalten, zu kriechen wieder in dieser Taste (rotes Quadrat eins)Web Scrapy !! Wie kann ich mithilfe von Click-Ereignisdaten crawlen?

Site-screen

enter image description here

selbst kann ich nicht Selen verwenden. Weil Knopfcode im Skript ist. so kann Xpath nicht finden.

<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> 

Ich möchte Daten erhalten, die in

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

verbergen, wie kann ich kriechen. Bitte helfen Sie mir.

+0

Überprüfen Sie den Quellcode für JSON-Daten. Wenn es im Quellcode dieser Seite Json-Daten gibt, können Sie Xpath verwenden, um das zu extrahieren und Ihre Sache zu tun. Andernfalls müssen Sie nach anderen geladenen Dateien suchen (in Chrome, inspizieren - Netzwerk-Tab könnte hilfreich sein). Versuchen Sie einfach herauszufinden, woher die benötigten Daten kommen. – Casper

+0

@ 김혜지, zeigen Sie die genaue Ausgabe, die Sie erhalten möchten – Andersson

Antwort

0

Bitte versuchen Sie folgende Skript erforderlichen Daten zu erhalten:

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

danke! Ich hatte einen Fehler. Danke für Ihre Erwähnung, jetzt habe ich gelöst – Amily

Verwandte Themen