在网站上抓取脚本对象值

2024-10-05 13:15:51 发布

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

我想从网站上抓取一张图片。这个图像URL存储在一个脚本对象上

enter image description here

我要刮取viewModel.productThumbs.ImageURL。 我也是python和beatifulsoap的新手

在我的源代码中,我是这样应用的:

# Import request library
import requests
from bs4 import BeautifulSoup


# Extracting html
url_path = ('URL')
html_text = requests.get(url_path).text


# Getting a Beautiful Soup object
soup = BeautifulSoup(html_text)

scripts = soup.find_all('script', 'viewModel')
print(scripts)

因此,我无法刮取此图像URL信息。我怎样才能解决这个问题


Tags: pathtext图像import脚本url网站html
1条回答
网友
1楼 · 发布于 2024-10-05 13:15:51

BeautifulSoup无法解析Javascript/Json数据。您可以使用不同的方法-例如re/json模块(因为我不知道URL,您需要根据您的情况调整它):

import re
import json


html_text = """
    <script>
        viewModel = {
            "productThumbs": [{
                "ImageUrl": "your image url"
            }],
            "other_info":[]
        };

    </script>
"""

data = re.search(r"viewModel = (.*});", html_text, flags=re.S).group(1)
data = json.loads(data)

print(data["productThumbs"][0]["ImageUrl"])

这张照片是:

your image url

相关问题 更多 >

    热门问题