xpath
  • web-scraping
  • scrapy
  • 2016-09-24 4 views 0 likes 
    0

    Ich habe Schwierigkeiten, Scrapy dazu zu bringen, den Link einer nächsten Seite zu erkennen. Wenn Sie xpath // a verwenden, wird der Link nicht angezeigt. Und ich versuchteVerwenden von Scrapy, um den nächsten Link zu erhalten

    response.xpath("//*[@id='nextpage']/a").extract() 
    

    ohne Glück zusammen mit mehreren anderen Permutationen. Ich versuche, die href="pdetail.php?instnum=2016230702&year=2016" Link

    Hier zu analysieren ist der Code:

    <div class=""><br> 
     
    <table width="95%" align="center"> 
     
        <tbody><tr> 
     
         <td class=""></td> 
     
         <td align="center" class=""> 
     
          <h3 style="" class="Header"> 
     
           Detail Information For Instrument # 2016230701 In Year 2016   </h3> 
     
         </td> 
     
    
     
         <td class=""></td> 
     
        </tr> 
     
    <tr> 
     
        <td class=""><div style="float:left;margin-left:30px;" id="previouspage" class=""><a href="pdetail.php?instnum=2016230700&amp;year=2016"><button style="font-size:18px;font-family: arial" type="button" class="">Previous Page</button></a> </div></td> 
     
        <td class=""></td> 
     
        <td class=""><div style="float:right;" id="nextpage" class=""><a href="pdetail.php?instnum=2016230702&amp;year=2016"><button style="font-size:18px;font-family: arial" type="button" class="">Next Page</button></a></div></td> 
     
    </tr> 
     
    </tbody></table>

    I Permutation der XPath laufen und ich erhalte die folgende Schleife - mit der Seite auf sich selbst zurückrufen :

    2016-09-24 18:26:03 [scrapy] DEBUG: Crawled (200) <GET http://search.jeffersondeeds.com/pdetail.php?instnum=2016230701&year=2016&db=0&cnum=20> (referer: http://search.jeffersondeeds.com/pdetail.php?instnum=2016230701&year=2016&db=0&cnum=20) 
    
    +0

    http://stackoverflow.com/questions/36281413/scrapy-getting-href-out-of-div Möglicherweise möchten Sie w3school XPath-Tutorial besuchen http://www.w3schools.com/xsl/xpath_intro .asp –

    Antwort

    0

    Versuchen Sie, diese XPath:

    string(//*[@id="nextpage"]/a/@href) 
    
    +0

    In meinem Skript wird die aktuelle URL und die Loops abgerufen. In der Schrottmulde taucht jedoch nichts auf. Das sehe ich in der Befehlszeile: 2016-09-24 17:57:55 [scrapy] DEBUG: Crawled (200) (refer: http://search.jeffersondeeds.com/pdetail.php?instnum=2016230701&year=2016&db=0&cnum=20) –

    +0

    Vielleicht versuchen Sie, den Knopf direkt hinter dem 'a'-Link zu drücken –

    +0

    danke Gilles - Das war der korrekte xpath entsprechend meiner xpath Helfer Erweiterung. Jetzt brauche ich nur mein Skript um es zu erkennen! –

    Verwandte Themen