Python 2.7 Beautifulsoup-从脚本标记获取值
我想从脚本标记中提取文件链接 在Python2.7中如何实现这一点 结构如下:Python 2.7 Beautifulsoup-从脚本标记获取值,python-2.7,beautifulsoup,Python 2.7,Beautifulsoup,我想从脚本标记中提取文件链接 在Python2.7中如何实现这一点 结构如下: <more script tags> <script> var settings= { primary: 'user-o', opt: window.userfiles, files: [ { //title: "PDF File",
<more script tags>
<script>
var settings=
{
primary: 'user-o',
opt: window.userfiles,
files: [
{
//title: "PDF File",
image: 'http://url.com/num-001/cover.jpg',
sources:
[
{
'label': '',
'file': 'http://url.com/user/0054552/file-1.pdf',
'type': 'user-o'
},
{
'label': '',
'file': 'http://url.com/user/0054552/file-2.pdf'
}
],
other:
[
{
file: 'http://url.com/user/0054552/other-file-0.pdf',
kind: 'other-files'
}
]
}
]
};
</script>
<more script tags>
变量设置=
{
主:'user-o',
opt:window.userfiles,
档案:[
{
//标题:“PDF文件”,
图像:'http://url.com/num-001/cover.jpg',
资料来源:
[
{
“标签”:“,
'文件':'http://url.com/user/0054552/file-1.pdf',
'type':'user-o'
},
{
“标签”:“,
'文件':'http://url.com/user/0054552/file-2.pdf'
}
],
其他:
[
{
档案:'http://url.com/user/0054552/other-file-0.pdf',
种类:'其他文件'
}
]
}
]
};
我需要所有文件链接:
- …url.com//user/0054552/file-1.pdf
- …url.com//user/0054552/file-2.pdf
- …url.com//user/0054552/other-file-0.pdf
谢谢 既然您已经得到了这个脚本,您只需要将它转换为文本并进行处理 此代码将:
s = '''<more script tags>
<script>
var settings=
{
primary: 'user-o',
opt: window.userfiles,
files: [
{
//title: "PDF File",
image: 'http://url.com/num-001/cover.jpg',
sources:
[
{
'label': '',
'file': 'http://url.com/user/0054552/file-1.pdf',
'type': 'user-o'
},
{
'label': '',
'file': 'http://url.com/user/0054552/file-2.pdf'
}
],
other:
[
{
file: 'http://url.com/user/0054552/other-file-0.pdf',
kind: 'other-files'
}
]
}
]
};
</script>
<more script tags>'''
files = []
data = s.split('\n')
for d in data:
if '.pdf' in d:
url = d.split(": ")[1].replace("'", "").replace(",", "")
print(url)
files.append(url)
'http://url.com/user/0054552/file-1.pdf'
'http://url.com/user/0054552/file-2.pdf'
'http://url.com/user/0054552/other-file-0.pdf'
split
此脚本文本块位于每个\n
对于每个字符串,搜索子字符串.pdf
如果字符串包含子字符串.pdf
,将其拆分为:'
和替换,
和,
将url部分附加到名为文件的列表中
s = '''<more script tags>
<script>
var settings=
{
primary: 'user-o',
opt: window.userfiles,
files: [
{
//title: "PDF File",
image: 'http://url.com/num-001/cover.jpg',
sources:
[
{
'label': '',
'file': 'http://url.com/user/0054552/file-1.pdf',
'type': 'user-o'
},
{
'label': '',
'file': 'http://url.com/user/0054552/file-2.pdf'
}
],
other:
[
{
file: 'http://url.com/user/0054552/other-file-0.pdf',
kind: 'other-files'
}
]
}
]
};
</script>
<more script tags>'''
files = []
data = s.split('\n')
for d in data:
if '.pdf' in d:
url = d.split(": ")[1].replace("'", "").replace(",", "")
print(url)
files.append(url)
'http://url.com/user/0054552/file-1.pdf'
'http://url.com/user/0054552/file-2.pdf'
'http://url.com/user/0054552/other-file-0.pdf'
既然您已经得到了这个脚本,您只需要将它转换为文本并进行处理 此代码将:
s = '''<more script tags>
<script>
var settings=
{
primary: 'user-o',
opt: window.userfiles,
files: [
{
//title: "PDF File",
image: 'http://url.com/num-001/cover.jpg',
sources:
[
{
'label': '',
'file': 'http://url.com/user/0054552/file-1.pdf',
'type': 'user-o'
},
{
'label': '',
'file': 'http://url.com/user/0054552/file-2.pdf'
}
],
other:
[
{
file: 'http://url.com/user/0054552/other-file-0.pdf',
kind: 'other-files'
}
]
}
]
};
</script>
<more script tags>'''
files = []
data = s.split('\n')
for d in data:
if '.pdf' in d:
url = d.split(": ")[1].replace("'", "").replace(",", "")
print(url)
files.append(url)
'http://url.com/user/0054552/file-1.pdf'
'http://url.com/user/0054552/file-2.pdf'
'http://url.com/user/0054552/other-file-0.pdf'
split
此脚本文本块位于每个\n
对于每个字符串,搜索子字符串.pdf
如果字符串包含子字符串.pdf
,将其拆分为:'
和替换,
和,
将url部分附加到名为文件的列表中
s = '''<more script tags>
<script>
var settings=
{
primary: 'user-o',
opt: window.userfiles,
files: [
{
//title: "PDF File",
image: 'http://url.com/num-001/cover.jpg',
sources:
[
{
'label': '',
'file': 'http://url.com/user/0054552/file-1.pdf',
'type': 'user-o'
},
{
'label': '',
'file': 'http://url.com/user/0054552/file-2.pdf'
}
],
other:
[
{
file: 'http://url.com/user/0054552/other-file-0.pdf',
kind: 'other-files'
}
]
}
]
};
</script>
<more script tags>'''
files = []
data = s.split('\n')
for d in data:
if '.pdf' in d:
url = d.split(": ")[1].replace("'", "").replace(",", "")
print(url)
files.append(url)
'http://url.com/user/0054552/file-1.pdf'
'http://url.com/user/0054552/file-2.pdf'
'http://url.com/user/0054552/other-file-0.pdf'
你自己已经有这个脚本标签了?你所需要的只是处理这段文本以获得URL?是的,我自己。我只需要文件链接。是否始终使用pdf文件?是的,仅使用pdf文件。您自己已经获得了此脚本标记?你所需要的只是处理这段文本以获得URL?是的,我自己。我只需要文件链接。是否总是pdf文件?是的,只是pdf文件。