Извлечение href с красивым супом - PullRequest
6 голосов
/ 25 августа 2011

Я использую этот код, чтобы получить доступ к моей ссылке:

links = soup.find("span", { "class" : "hsmall" })
links.findNextSiblings('a')
for link in links:
  print link['href']
  print link.string

У ссылки нет идентификатора, класса или чего-то подобного, это просто классическая ссылка с атрибутом href.

Ответ моего сценария:

print link['href']
TypeError: string indices must be integers

Можете ли вы помочь мне получить значение href? Спасибо!

Ответы [ 2 ]

9 голосов
/ 25 августа 2011

Ссылки по-прежнему относятся к вашему супу.Так что вы можете сделать что-то вроде:

links = soup.find("span", { "class" : "hsmall" }).findNextSiblings('a')
for link in links:
    print link['href']
    print link.string
4 голосов
/ 25 августа 2011

Хорошо, теперь он работает со следующим кодом:

linkSpan = soup.find("span", { "class" : "hsmall" })
link = [tag.attrMap['href'] for tag in linkSpan.findAll('a', {'href': True})]
for lien in link:
  print "LINK = " + lien`
...