python如何解析html
我想用BeautifulSoup解析python中的html div 我的代码:python如何解析html,python,beautifulsoup,Python,Beautifulsoup,我想用BeautifulSoup解析python中的html div 我的代码: url = "http://german-bash.org/action/random" response = urllib2.urlopen(url) html = response.read() soup = BeautifulSoup(html) for div in soup.findAll('div','zitat'): output = div.find('span', 'quote_zeile
url = "http://german-bash.org/action/random"
response = urllib2.urlopen(url)
html = response.read()
soup = BeautifulSoup(html)
for div in soup.findAll('div','zitat'):
output = div.find('span', 'quote_zeile').string
print(output)
我想获取div“div.zitat”中的所有span,但它不起作用您只获取第一个这样的
。再次使用.findAll()
查找所有此类跨度:
html = response.read()
soup = BeautifulSoup(html, from_encoding=response.info().getparam('charset'))
for div in soup.findAll('div','zitat'):
for span in div.findAll('span', 'quote_zeile'):
print span.string
这将产生:
>>> for div in soup.findAll('div','zitat'):
... for span in div.findAll('span', 'quote_zeile'):
... print span.string
...
<bigg-el> war grad schuhe kaufen
<bigg-el> konnte mich nicht entscheiden...
<bigg-el> dann hab ich halt beide genommen :D
<Sputnik> links UND rechts??
<Busstard> weisste was scheisse is?
<Parteibruder> Nöa!
<Busstard> wenn man seinen eigenen vadda um halb zehn im puff trifft....>(
<Parteibruder> LOOOOOOL
<Psyman2> Saw? gib mal ne Zusammenfassung
<Alf777> Gewalt, Blut, Folter, psychische Schäden und abgetrennte Körperteile
<Psyman2> Aha, normale Hauptschule also
<Alf777> rofl
<complex> ich verhüte nicht. frauen hüten sich vor mir -.-
<MeX> Da steht im neuen Plus-Prospekt doch tatsächlich:
<MeX> Achtung: Silvesterknaller nur aus 2 Meter Entfernung entzünden!
<MeX> Wie stellen die sich das vor? Mit nem Flammenwerfer?
汤中的div.findAll('div','zitat'):
... 对于div.findAll中的span('span','quote_zeile'):
... 打印span.string
...
战争毕业生舒赫考芬
我不知道该怎么做。。。
我要在基诺门停车
链接和推荐??
韦斯特是谢斯是谁?
Nöa!
我是一个很有经验的人(
露oool
看到了吗?gib mal ne Zusammenfassung
格瓦尔特、布卢特、福尔特、施瓦登和科尔佩特尔
啊哈,我也是
爆笑
我不知道。胡腾夫人是谁-
新奥尔良大学和塔斯科利奇学院:
阿什东:西尔维斯特·克纳勒·努尔·奥斯2米长的车!
你是怎么做的?你是怎么做的?
请注意,我还告诉了
BeautifulSoup
要使用的编码,这些编码取自响应内容类型
标题;这对于这个页面很重要,因为如果没有它,BeautifulSoup猜测是错误的。它怎么会不起作用?我如何只显示第一个div.zitat中的第一个跨距?@Evolutio:use.find()
要查找第一个匹配项,请使用.findAll()
查找所有元素(列表)。您需要明确说明您希望看到的输出。@Evolutio:您的错误与代码不匹配。该错误表示您试图在文本对象上访问。findAll
,而不是在标记或soup
对象上。@Evolutio:对我来说效果很好;您是否为中的div
或span
分配了其他内容e在任何地方编码?@Evolutio:您正在将unicode值传递给某个对象;如果API需要字节字符串,则首先对其进行编码。.encode('utf8')
例如,将数据编码为UTF-8。