使用BeautifulSoup刮擦URL

CreamStat

我已经抓取了下表的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_alltr元素使用可能会更容易

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用BeautifulSoup刮擦Javascript注入的文本

如何使用硒获得链接并使用beautifulsoup进行刮擦?

如何使用BeautifulSoup刮擦Fidelity.com

如何使用BeautifulSoup刮擦标签之间的嵌套文本?

使用beautifulsoup python在span类HTML中刮擦值

使用BeautifulSoup刮擦具有多个表的页面

如何使用 beautifulsoup + requests 缩小刮擦的范围?

使用python遍历URL来刮擦相似的表

使用Rvest刮擦带有多个表的URL

使用单个URL刮擦多页上的表

用beautifulsoup刮擦HTML id

无法通过BeautifulSoup进行刮擦

使用beautifulsoup,python刮擦具有相同类的不同表

我将如何使用BeautifulSoup刮擦此ESPN Fantasy玩家表?

无法使用BeautifulSoup4(Python 3)刮擦特定的表

如何获得刮擦失败的URL?

如何获得刮擦失败的URL?

使用刮擦飞溅单击按钮

使用CsQuery刮擦JavaScript数组数据

使用硒的坚硬刮擦盒

使用purrr包处理url中的两个字符以刮擦目的

BeautifulSoup:IndexError:列出多个链接到刮擦的范围的索引

为什么在使用BeautifulSoup刮擦表格标题以删除不需要的HTML时不能使用“ .text”

如何使用python请求,BeautifulSoup和刮擦数据在Aspx动态网站中的下拉菜单中循环

除了使用BeautifulSoup和Scrapy之外,还有其他方法无法刮掉不可刮擦的网站吗?

如何在BeautifulSoup中使用元素的样式定义(例如填充,字体大小等)对元素进行Web刮擦

在使用BeautifulSoup和pandas将索引与标头值匹配的同时,在标头下方刮擦文本

如何使用BeautifulSoup刮

使用beautifulsoup刮