Sadece belirli URL'leri almak mümkün mü?Python BeautifulSoup Özel URL'leri ayıkla
gibi:
<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>
Çıktı çıktı URL'ler gibi http://www.iwashere.com/
sadece URL'ler olmalıdır:
http://www.iwashere.com/washere.html
http://www.iwashere.com/wasnot.html
Ben dize mantığı ile bunu yaptı. BeautifulSoup kullanarak herhangi bir doğrudan yöntem var mı?
. Kütüphanelerin farkında olmayan insanlar için. Bs4 ithalattan ''e ihtiyacınız var BeautifulSoup import re' – Zero
Bir sorum daha var. Http: //www.iwashere.com/xyz ... abc.html biçimindeyse bağlantıları mükemmel bir şekilde ayıklayabiliriz. Ancak, bağlantılar yerel ise. Diyelim ki, [next, next] 'gibi. Temel bağlantıyı nasıl çıkarabilirim? HTML kodu görüldüğünde, bağlantı uygun konumla hiper bağlanır. Bu tür bağlantıları çıkarmanın herhangi bir yolu var mı? – Zero
@searcoding: Bir şema veya çift eğik çizgi ile başlamayan her şeye uymanız gerekir; Bunun yerine * başlamaz * olan herhangi bir “href” değeri bunun yerine göreceli bir URL'dir. Kullanımı href = re.compile (r '^ (?! (?: [A-zA-Z] [a-zA-Z0-9 + .-] *: | //))') '(bu bir negatif Bir şema veya çift eğik çizgiyi test etmek için ileriye bakmak, bunlara sahip olan her şey * eşleşmez *. –