Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Небольшая проблема с парсингом ссылок


Автор: ShaiTan 16.12.2011, 10:03
Такой код:
Код

soup = BeautifulSoup.BeautifulSoup(body)
urls = [tag['href'] for tag in soup.findAll('a')]
random.shuffle(urls)
print (urls[1])
rurl = ('http://domain.com' + (urls[1]))

Собирает внутреннии ссылки, выбирает рандомную, приводит в норм. вид. Проблема в том, что некоторые ссылки имеют в начале слеш /, а другие нет. Соответственно часть ссылок нерабочая - http://domain.com//(urls[1]) или http://domain.com(urls[1]) в зависимости от наличия слеша здесь:
Код

rurl = ('http://domain.com' + (urls[1]))

Плюс попадаются внешние ссылки. Они тоже собираются и портят картину.
Возможно в некоторых случаях внутренние ссылки будут также начинаться с http://domain.com...
Как все это грамотно и макс просто разрулить?
Нужны только внутренние ссылки, 100% рабочие.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)