为什么这个BeautifulSoup结果[]?

时间:2014-03-02 12:34:50

标签: beautifulsoup python-3.3

我想获得跨度中的文字。我已经检查了,但我没有看到问题

from bs4 import BeautifulSoup
import urllib.request
import socket

searchurl = "http://suchen.mobile.de/auto/search.html?scopeId=C&isSearchRequest=true&sortOption.sortBy=price.consumerGrossEuro"
f = urllib.request.urlopen(searchurl)
html = f.read()
soup = BeautifulSoup(html)
print(soup.findAll('span',attrs={'class': 'b'}))  

结果是[],为什么?

1 个答案:

答案 0 :(得分:1)

查看相关网站,您的搜索结果会显示一个空列表,因为没有跨度,类值为b 。 BeautifulSoup不像浏览器那样传播CSS。此外,您的urllib请求看起来不正确。看一下这个网站,我你希望抓住class label from bs4 import BeautifulSoup import urllib2 # Note urllib2 searchurl = "http://suchen.mobile.de/auto/search.html?scopeId=C&isSearchRequest=true&sortOption.sortBy=price.consumerGrossEuro" f = urllib2.urlopen(searchurl) # Note no need for request html = f.read() soup = BeautifulSoup(html) for s in soup.findAll('span', attrs={"class":"label"}): print s.text 的所有范围,但是当网站不是很难的时候很难用我的母语。以下是你将如何做到这一点:

Farbe:
Kraftstoffverbr. komb.:
Kraftstoffverbr. innerorts:
Kraftstoffverbr. außerorts:
CO²-Emissionen komb.:
Zugr.-lgd. Treibstoffart:

这给出了列出的网址:

{{1}}