我正在用漂亮的汤抓取一个网站来抓取图像,到目前为止,这对每个网站都很好,我什至设法创建了一些自定义案例类型。但是一个特定的站点给我带来了问题,因为它返回了一个 JavaScript 对象中的所有图像,该对象内嵌在一个脚本标记中。该对象非常大,因为它包含所有产品信息,我正在寻找的特定位嵌套在 productArticleDetails > [产品 id] > normalImages > thumbnail > [图像路径] 中。像这样:
<script>
var productArticleDetails = {
...
'0399310001': {
...
'normalImages': [
{
'thumbnail': '//image-path.jpg',
...
}
]
}
}
所以我只想提取图像路径。
它也不是返回的“汤”中包含在脚本标记中的唯一内容,代码中还有许多其他 javascript 标记。到目前为止,我已将 HTML 保存到一个变量中,然后运行:
soup = BeautifulSoup(html)
scripts = soup.find_all('script')
所以我留下了一个包含所有<script>元素的对象html
不知何故,在该scripts对象中,我需要在正确的 JS 块中找到该特定节点并返回thumbnail嵌套在该节点下的normalImages节点的值,该节点又将嵌套在一串数字下方,最终全部保存到productArticleDetailsvar .
我想我需要对对象进行for循环,scripts但没有运气弄清楚如何提取特定的数据位。我所看到的其他所有内容都假设只有 1 位 javaScript 并且您要查找的值不是嵌套的。
任何人都可以帮忙吗?干杯。
芜湖不芜
慕尼黑的夜晚无繁华
相关分类