用Python解析HTML中的方括号

2024-09-29 21:48:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析var-meta窗口中的一些信息,但我有点困惑如何只获取“id”的值。在

我的代码在下面

url = input("\n\nEnter URL: ")
print(Fore.MAGENTA + "\nSetting link . .  .")


def printID():
    print("")
session = requests.session()
response = session.get(url)
soup = bs(response.text, 'html.parser')
form = soup.find('script', {'id' : 'ProductJson-product-template'})
scripts = soup.findAll('id')

#get the id
'''
for scripts in form:
    data = soup.find_all()
    print data
    '''

print(form)

printID()

以及这些指纹的输出

^{pr2}$

同样,我只想打印ID的值(“463448473639”)。在


Tags: form信息idurldatagetresponsesession
2条回答

您可以使用以下所有sy属性检索tax。在

form.attrs 

如果你想找一些特别的东西,那就是字典。在

^{pr2}$

完整代码如下

from bs4 import BeautifulSoup


html_doc="""<script id="ProductJson-product-template" type="application/json">
    {"id":463448473639,"title":"n/a","handle":"n/a","description":"n/a"}
  </script>
"""

soup = BeautifulSoup(html_doc, 'html.parser')
print soup.find("script").attrs
print soup.find("script")['id']

但是,如果您想从innerText{"id":463448473639,"title":"n/a","handle":"n/a","description":"n/a"}获取ID的值 唯一的方法是,如下所示。在

innerText = soup.find("script").getText()
print innerText
print ast.literal_eval(strip(innerText)).get("id")

看起来你要做的事情是:

import json
id = json.loads(scripts[0].get_text())['id']

我还没有测试过,但是如果你想知道脚本标记之间的内容,我想这就是你会这样做的。get_text doc

相关问题 更多 >

    热门问题