Python beatutiful汤'ResultSet'对象没有属性'get'

use*_*151 0 python beautifulsoup

我试图抓住网站上的一些链接,并在他们被清理后将它们写入文件.网站上的链接如下所示:

<a href="javascript:changeChannel('http://dr01-lh.akamaihd.net/i/dr01_0@147054/index_1700_av-b.m3u8', 20);">DR1</a><br>
<a href="javascript:changeChannel('http://dr02-lh.akamaihd.net/i/dr02_0@147055/index_1700_av-b.m3u8', 21);">DR2</a><br>
<a href="javascript:changeChannel('http://dr03-lh.akamaihd.net/i/dr03_0@147056/index_1700_av-b.m3u8', 701);">DR3</a><br>
<a href="javascript:changeChannel('http://dr06-lh.akamaihd.net/i/dr06_0@147059/index_1700_av-b.m3u8', 31);">DR Ultra</a><br>
<a href="javascript:changeChannel('http://dr04-lh.akamaihd.net/i/dr04_0@147057/index_1700_av-b.m3u8', 38);">DR K</a><br>
<a href="javascript:changeChannel('http://dr05-lh.akamaihd.net/i/dr05_0@147058/index_1700_av-b.m3u8', 50);">DR Ramasjang</a><br>
Run Code Online (Sandbox Code Playgroud)

我可以用它抓住它们:

links = soup.findAll(href=re.compile("javascript"))
Run Code Online (Sandbox Code Playgroud)

给我这个输出:

[<a href="javascript:changeChannel('http://dr01-lh.akamaihd.net/i/dr01_0@147054/index_1700_av-b.m3u8', 20);">DR1</a>, <a href="javascript:changeChannel('http://dr02-lh.akamaihd.net/i/dr02_0@147055/index_1700_av-b.m3u8', 21);">DR2</a>, <a href="javascript:changeChannel('http://dr03-lh.akamaihd.net/i/dr03_0@147056/index_1700_av-b.m3u8', 701);">DR3</a>, <a href="javascript:changeChannel('http://dr06-lh.akamaihd.net/i/dr06_0@147059/index_1700_av-b.m3u8', 31);">DR Ultra</a>, <a href="javascript:changeChannel('http://dr04-lh.akamaihd.net/i/dr04_0@147057/index_1700_av-b.m3u8', 38);">DR K</a>, <a href="javascript:changeChannel('http://dr05-lh.akamaihd.net/i/dr05_0@147058/index_1700_av-b.m3u8', 50);">DR Ramasjang</a>]
Run Code Online (Sandbox Code Playgroud)

现在我想清理它,所以我只得到''之间的http://部分,这就是它变坏的地方.

我试过了

fullink = links.get('href')
Run Code Online (Sandbox Code Playgroud)

我收到错误的地方:

'ResultSet' object has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)

那么如何从中获取链接呢?

bba*_*les 5

美丽的汤文档说:

AttributeError:'ResultSet'对象没有属性'foo' - 这通常是因为您希望find_all()返回单个标记或字符串.但是find_all()返回一个标签和字符串列表 - 一个ResultSet对象.您需要遍历列表并查看每个列表的.foo.或者,如果您真的只想要一个结果,则需要使用find()而不是find_all().

所以你可能想要full_links = [x.get("href") for x in links].