繁体   English   中英

使用BeautifulSoup无法解析HTML

[英]Trouble parsing HTML using BeautifulSoup

我正在尝试使用BeautifulSoup在Python中解析一些HTML。 具体来说,我正在尝试创建两个汤对象数组:一个用于发布网站上的发布日期,另一个用于发布本身。 但是,当我在与发布匹配的div类上使用findAll时,仅返回初始标签,而不返回标签内的文本。 另一方面,我的代码对日期也很好。 到底是怎么回事??

# store all texts of posts
texts = soup.findAll("div", {"class":"quote"})

# store all dates of posts
dates = soup.findAll("div", {"class":"datetab"})

上面的第一行仅返回

<div class="quote">

这不是我想要的。 第二行返回

<div class="datetab">Feb<span>2</span></div>

这就是我想要的(预优化)。

我不知道我在做什么错。 是我要解析的网站。 这是为了做作业,我真的很绝望。

您正在使用哪个版本的BeautifulSoup? 与实际的HTML(读取的:无效的HTML)相比,版本3.1.0的性能明显低于3.0.8。 此代码适用于3.0.8:

import urllib2
from BeautifulSoup import BeautifulSoup

page = urllib2.urlopen("http://harvardfml.com/")
soup = BeautifulSoup(page)
for incident in soup.findAll('span', { "class" : "quote" }):
    print incident.contents

该站点由Tumblr提供支持。 Tumblr有一个API

有一个Tumblrpython端口,可用于读取文档。

from tumblr import Api

api = Api('harvardfml.com')
freq = {}
posts = api.read()
for post in posts:
   #do something here

对于您的伪造的findAll,如果没有程序的实际源代码,则很难看出问题出在哪里。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM