我已经抓取了下表的HTML代码。我只想抓取与表的每个元素相关的链接,我该怎么做?
这是我的代码:
import urllib2
from bs4 import BeautifulSoup
first=urllib2.urlopen("http://www.admision.unmsm.edu.pe/res20130914/A.html").read()
soup=BeautifulSoup(first)
for tr in soup.find_all('tr')[2:]:
tds = tr.find_all('td')
print tds
结果是这样的:
[<td><a href="./A/013/0.html">ENFERMERÍA</a></td>]
[<td><a href="./A/0141/0.html">TEC. MED. LAB. CLÍNICO Y ANATOMÍA PATOLÓGICA</a></td>]
[<td><a href="./A/0142/0.html">TEC. MED. TERAPIA FÍSICA Y REHABILITACIÓN</a></td>]
[<td><a href="./A/0143/0.html">TEC. MED. RADIOLOGÍA</a></td>]
前提是每个链接中只有一个链接,这将输出所有链接td
。
for td in tds:
print td.a['href']
但是只find_all
在tr
元素上使用可能会更容易:
for link in tr.find_all('a'):
print link['href']
如果要将它们保存在列表中,请执行以下操作:
links = []
for tr in soup.find_all('tr')[2:]:
links.extend([link['href'] for link in tr.find_all('a')])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句