2017-03-22 2 views
0

Ich benutze bs4, um einige href von einer Website zu bekommen.beautifulsoup4: get href, aber zurück "#"

<a class="aaa" target="12345" href="someURL" 
data-track="HOT:SR:HotelModule" tabindex="0"> 
     <span class="visuallyhidden"> 
     some text here 
     </span> 
</a> 

Das HTML ist wie oben. Ich kann die meisten der URL mit diesem Code erhalten:

for URL in res.select('.someClass') 
URL.select('a')[0]['href'] 

aber einige der Rückgabewert ist # ich den Quellcode der Website überprüft haben, und ich finde das href wirklich hier ist, und es ist nicht #.

Was ist los, damit ich # bekomme, aber nicht die URL?

Hier ist the website, die ich versuche. Mein Problem passierte im Hotel mit + VIP-Tag.

Antwort

0

Vielleicht verwenden sie <a href="#" onclick="myJsFunc();">Link</a>, sind Sie sicher, dass es keine href wie folgt gibt? Und es gibt einen Unterschied, wenn verschiedene = Parser unterschiedliche Ergebnisse liefern. versuchen, alle von ihnen und überprüfen Sie das Ergebnis mit xml, html5lib, html.parser" Difference between parsers one <code>href</code> = #

+0

Oh! Ich fand, dass es eine a href = "#" in der gleichen Klasse meines Ziel-href gibt, und es ist vor meinem Ziel, so dass ich ein # anstelle meines Ziels bekam. Vielen Dank. –

+0

Haha, kein Problem. JavaScript kann knifflig sein, und da ich sehe, dass Sie damit interagieren, ist Selenium ein sehr nützliches Modul, schauen Sie es sich zumindest an: D. –

Verwandte Themen