我做的很简单,但结果却没有正确显示。 该网站是Bed Bath & Beyond。我正试图获得每个类别的产品总数。
我的脚本看起来像这样。
r = requests.get("http://www.bedbathandbeyond.com/store/category/bed-bath/bedding-accessories/10505/")
soup = BeautifulSoup(r.content)
li = soup.find_all("li", {"class" : "listCount noPadLeft"})
for l in li:
print(l.text)
并且没有输出任何内容,即使我知道元素中有文本。我只需要进入一个元素,但是当找不到find_all而不是试图弄清楚发生了什么时,就会发现它。
这是我正在抓取的HTML:
<li class="listCount noPadLeft">
<strong>Showing
1 - 48
</strong> <span>of 124 product(s)
</span> </li>
为什么会发生这种情况?
答案 0 :(得分:0)
试试这段代码(python 3):
import urllib.request as rq
import bs4
url=rq.urlopen('http://www.bedbathandbeyond.com/store/category/bed-bath/bedding-accessories/10505/').read().decode('utf-8')
soup=bs4.BeautifulSoup(url)
a=soup.find_all('li',class_="listCount noPadLeft")
for i in a:
print(i.text)