2014-11-17 3 views
1

Я этот кусок кода:Получить ссылку в HTML, используя BeautifulSoup

 <td colspan="2" class="fc_blabla"> 
     <a title="Blabla" href="http://www.blabla.com/.html">Blabla</a> 
    </td> 

Мне нужно получить только ссылку, я пробовал много способов, как:

1 #

for link in soup.find_all("td", { "class":"fc_blabla"}): 
    url = link.find("href") 
    print link 

2 #

print soup.select(".fc_blabla > href") 

3 #

for link in soup.find_all("a"): 
    url = link.get("href") 
    print url 

ответ

0
html=""" 
    <td colspan="2" class="fc_blabla"> 
     <a title="Blabla" href="http://www.blabla.com/.html">Blabla</a> 
    </td> 
    """ 

from bs4 import BeautifulSoup 

soup = BeautifulSoup(html) 

print(soup.find("td",attrs={"class":"fc_blabla"}).a["href"]) 

http://www.blabla.com/.html 
+0

спасибо за вашу anwser Padraic, это тоже хорошо работает, я не могу голосовать за ваш пост, потому что я менее 15 репутации – xif

+0

@Xifeat это точно такой же ответ, как ваш ответ принят –

+0

Да но я могу принять только одно сообщение, но сначала у вас есть anwser, thats right – xif

1

Вы искали "HREF" в "ТД" метки. Он находится в теге «a».

import bs4 
soup = bs4.BeautifulSoup(raw_html) 
td = soup.find('td', {"class":"fc_blabla"}) 
print td.find("a")["href"] 
+0

как это отличается от моего ответа? –

+0

Спасибо за подключение, он отлично работает, я могу получить всю ссылку с вашим методом для ссылки в soup.find_all ("td", {"class": "fc_blabla"}) print link.find ("a") ["href"] – xif

+0

@PadraicCunningham Это не совсем - я просто не был «самым быстрым оружием на западе». Когда я щелкнул по почте, ваш выскочил впереди моих. Обратите внимание, что мой «немного» более надежный, он не полагается на то, что тег «.a» является первым ребенком, а ищет первый «a». В этом случае это не повлияет, но реальный html не так хорош. – Hooked

Смежные вопросы