Возможно ли получить только определенные URL-адреса?Python BeautifulSoup Извлечь определенные URL-адреса
Как:
<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>
Вывод должен быть только URL-адресом из http://www.iwashere.com/
как, выходная URL-адреса:
http://www.iwashere.com/washere.html
http://www.iwashere.com/wasnot.html
Я сделал это струнной логикой. Есть ли какой-либо прямой метод, использующий BeautifulSoup?
Он работал отлично. Для людей, которые не знают о библиотеках. Вам нужно 'from bs4 import BeautifulSoup import re' – Zero
У меня есть еще один вопрос. Мы можем прекрасно извлекать ссылки, если они находятся в формате 'http: //www.iwashere.com/xyz ... abc.html'. Но, если ссылки локальны. Скажем, например '[next, next]'. Как я могу извлечь базовую ссылку? Когда отображается HTML-код, ссылка гиперссылка с правильным местоположением. Любой способ извлечь такие ссылки? – Zero
@searcoding: вам нужно будет сопоставить все, что не начинается с схемы или двойной косой черты; любое значение 'href', которое * не * начинает с них, является относительным URL. Используйте 'href = re.compile (r '^ (?! (?: [A-zA-Z] [a-zA-Z0-9 + .-] *: | //))')' (это отрицательный чтобы проверить схему или двойную косую черту, все, что есть, не соответствует *. –