【问题标题】:How to get these numbers from var stocks while scraping web?如何在抓取网页时从 var 股票中获取这些数字?
【发布时间】:2020-07-23 20:12:41
【问题描述】:
<form class="col-xs-12"> <script type="text/javascript">

var stocks = {
  "938975": true,
  "938977": true,
  "938979": true,
  "938981": true,
  "938983": true,
  "938985": true,
  "938987": false,
  "938989": true,
  "938991": true,
  "938993": true,
  "938995": true,
  "938997": false,
  "938999": true,
  "939001": true,
  "939003": true,
  "939005": true,
  "939007": true
};

我如何获取并循环它,如果 var stocks 中有一个 true 值用于任何变量机器人会走得更远,但当有 false 时它会停止?

目前我正在使用类似的东西,希望你理解:

div = soup.find("form",("class"=="col-xs-12")).find("script",("type"=="text/javascript"

我正在用python做机器人

【问题讨论】:

  • 到底是什么问题?你有没有尝试过,做过任何研究?
  • 我对此有点陌生。问题在于它是一个 Web 产品页面源,这些从 9 开始的数字是可用于添加到购物车的产品 ID。我想去 var stock,检查产品目前是否有货,如果有,请将其添加到购物车并继续结帐

标签: javascript python


【解决方案1】:

看看这是否有帮助! 已经添加了代码,所以如果我们最后有一些条目,即使我们没有 false,它们也会被添加。它在循环之外,如果不需要,可以删除。

var stocks = {"938975":true,"938977":true,"938979":true,"938981":true,"938983":true,"938985":true,"938987":false,"938989":true,"938991":true,"938993":true,"938995":true,"938997":false,"938999":true,"939001":true,"939003":true,"939005":true,"939007":true};

var arraysOfStocks = [],tempArray = [];
for (let [key, value] of Object.entries(stocks)) {
  //console.log(key +":"+value);
  if(value){
     tempArray.push(key);
  } else {
     arraysOfStocks.push(tempArray);
     tempArray = [];
  }
}
arraysOfStocks.push(tempArray);
tempArray = [];

console.log(arraysOfStocks);
     

【讨论】:

  • 是的,但是我,抓取网页,这并不是我真正想做的事情。我不知道“var stock”,因为每次我进入网站时它都会改变。它也是一种产品,我想检查它是否可用(如果是 - 股票显示“真”,如果不是“假”)。如果是 - 添加到购物车并继续结帐 - 如果不重试,直到它可用并仍然尝试结帐
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多