我想获得跨度中的文字。我已经检查了,但我没有看到问题
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'}))
结果是[]
,为什么?
答案 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}}