È possibile ottenere solo URL specifici?Python BeautifulSoup Estrai URL specifici
come:
<a href="http://www.iwashere.com/washere.html">next</a>
<span class="class">...</span>
<a href="http://www.heelo.com/hello.html">next</a>
<span class="class">...</span>
<a href="http://www.iwashere.com/wasnot.html">next</a>
<span class="class">...</span>
uscita dovrebbe essere solo gli URL da http://www.iwashere.com/
come, gli URL di uscita:
http://www.iwashere.com/washere.html
http://www.iwashere.com/wasnot.html
l'ho fatto con la logica della stringa. Esiste un metodo diretto con BeautifulSoup?
Ha funzionato perfettamente. Per le persone che non sono a conoscenza delle biblioteche. È necessario 'da bs4 import BeautifulSoup import re' – Zero
Ho ancora una domanda. Possiamo estrarre perfettamente i collegamenti se si trovano nel formato 'http: //www.iwashere.com/xyz ... abc.html'. Ma, se i collegamenti sono locali. Dire, come '[next, next]'. Come posso estrarre il link sottostante? Quando viene visualizzato il codice HTML, il collegamento viene linkato con una posizione corretta. Qualche modo per estrarre tali collegamenti? – Zero
@searcoding: è necessario abbinare qualsiasi cosa che non inizia con uno schema o una doppia barra; qualsiasi valore 'href' che * non * inizi con quelli è un URL relativo. Usa 'href = re.compile (r '^ (?! (?: [A-zA-Z] [a-zA-Z0-9 + .-] *: | //))')' (che è un negativo look-ahead per testare uno schema o una doppia barra, tutto ciò che ha * non * corrisponde). –