首页 > 解决方案 > 使用 Python 进行 Web Scraping - 获取属性值的问题

问题描述

我对 Webscraping 很陌生,我正在努力从特定元素中获取两个属性的值

我想找到data-diffusion-decimal&data-diffusion-history

在此处输入图像描述

soup.findAll('div',attrs={"class":"RC-runnerPriceWrapper"})

我得到的是:

<div class="RC-runnerPriceWrapper PC-bestOddsContainer js-diffusionHorsesList js-horsesList js-bestOddsPriceContainer" data-diffusion-horsename="Dinons">  <a class="ui-btn RC-runnerPrice ui-priceBtn_noPrice js-diffusionPriceValue js-betHandler js-runnerPrice js-runnerPriceBestOdds" data-test-selector="RC-cardPage-runnerPrice" href="#"></a>

这是据我所知,但结果中不包含我需要的内容。非常感谢任何建议

标签: pythonweb-scrapingbeautifulsoup

解决方案


也许这些属性是在 javascript 中动态设置的。要知道这一点,请不要使用控制台,而是右键单击页面,然后单击“查看页面源代码”。

如果你在源代码中找不到这些属性,它们是用 javascript 设置的,你需要一个像Selenium这样的工具来执行页面的动态部分。

解决方法:使用浏览器控制台的“网络”选项卡,您可以尝试查看是否执行了 ajax 请求以获取属性中的数据。您可以调用相同的请求,而不是解析您的页面,并可能以 json 格式获取信息。


推荐阅读