作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试获取 html 文档中所有 href 的列表。我正在使用 Beautiful Soap 来解析我的 html 文件。
print soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})[0]
我得到的结果是:
<a class="m0 vl" data-tag="Homepage Library" href="/video?lang=pl&format=lite&v=AZpftzD9jVs" title="abc">
text
</a>
我只对 href=""部分感兴趣。所以我希望 ResultSet 只返回 href 的值。
我不确定如何扩展这个查询,所以它返回 href 部分。
最佳答案
使用attrs :
links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link.attrs['href'] for link in links]
或者,通过将元素视为字典来直接从元素获取属性:
links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link['href'] for link in links]
演示:
from bs4 import BeautifulSoup
page = """<body>
<a href="link1">text1</a>
<a href="link2">text2</a>
<a href="link3">text3</a>
<a href="link4">text4</a>
</body>"""
soup = BeautifulSoup(page)
links = soup.body.find_all('a')
print [link.attrs['href'] for link in links]
打印
['link1', 'link2', 'link3', 'link4']
希望对您有所帮助。
关于python - 如何进一步过滤ResultSet的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22260448/
我有这个: const {ops} = getOplogStreamInterpreter(strm); ops.del.subscribe(v => { console.log('delete
我四处搜索,据我所知,POST 表单请求已被限制为 10MB (http://golang.org/src/net/http/request.go#L721)。 如果我要在我的 ServeHTTP 方
我是一名优秀的程序员,十分优秀!