如何在Beautiful Soup中搜索文本

时间:2016-08-03 20:35:35

标签: python beautifulsoup bs4

我试图创建一个检查网站上项目库存的脚本,我试图找到每一行都有" ATS"其中包括冒号后的数字。然后我要打印" ATS"的所有值。 (每个大小一个值)这是我到目前为止的脚本:

git rm app_*

返回此信息:

import requests
from bs4 import BeautifulSoup

prodpage=requests.get('http://www.adidas.com/on/demandware.store/Sites-adidas-US-Site/en_US/Product-GetVariants?pid=S32145', headers={'User-Agent': 'Mozilla/5.0'} )

soup = BeautifulSoup(prodpage.text)

print (soup)

1 个答案:

答案 0 :(得分:0)

我认为BeautifulSoup不是最佳选择。它看起来更像是json格式的数据。 BeautifulSoup主要是HTML / XML的解析器。 所以我的建议是去

import requests
import json

prodpage=requests.get('http://www.adidas.com/on/demandware.store/Sites-adidas-US-Site/en_US/Product-GetVariants?pid=S32145', headers={'User-Agent': 'Mozilla/5.0'} )
data = json.loads(prodpage.text)

然后在dict结构中寻找ATS,即

for variant in data['variations']['variants']:
   print(variant['ATS'])

这对我来说是

0
0
12.0
0
8.0
0
7.0
0.0
6.0
0.0
17.0
12.0
18.0
2.0
9.0
3.0
7.0
0
7.0
0
5.0