Czy można uzyskać tylko określone adresy URL?Python BeautifulSoup Uzyskaj szczegółowe adresy URL:
odczuwalna:
<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>
Wyjście powinno być tylko adresy od http://www.iwashere.com/
podobnego URL wyjściowych:
http://www.iwashere.com/washere.html
http://www.iwashere.com/wasnot.html
Zrobiłem to przez logikę strun. Czy istnieje jakaś bezpośrednia metoda wykorzystująca BeautifulSoup?
To działało idealnie. Dla osób, które nie znają bibliotek. Musisz 'od importu bs4 BeautifulSoup import re' – Zero
Mam jeszcze jedno pytanie. Możemy idealnie wyodrębnić linki, jeśli są one w formacie "http: //www.iwashere.com/xyz ... abc.html". Ale jeśli linki są lokalne. Powiedz, jak '[next, ]'. Jak mogę wyodrębnić podstawowy link? Kiedy kod HTML jest widoczny, link jest połączony z odpowiednią lokalizacją. Jakikolwiek sposób na wyodrębnienie takich linków? – Zero
@searcoding: Musisz dopasować wszystko, co nie zaczyna się od schematu lub podwójnego ukośnika; dowolna wartość 'href', która nie * nie * zaczyna się od tych, jest względnym adresem URL. Użyj 'href = re.compile (r '^ (?! (?: [A-zA-Z] [a-zA-Z0-9 + .-] *: | //))") (to jest negatywne patrzeć z wyprzedzeniem, aby przetestować schemat lub podwójne ukośnik, wszystko, co ma te * nie * pasuje). –