beautifulsoup 解析时出现问题

发布于 2024-12-02 15:27:35 字数 519 浏览 0 评论 0原文

我正在尝试解析以下网页链接。 下面的代码:

import urllib2
import sys
from BeautifulSoup import BeautifulSoup

url = 'http://www.etsy.com/teams/list'
source = urllib2.urlopen(url)

soup = BeautifulSoup(source)
print soup.prettify()

print len(soup('h3')) #to print the no of occurances of h3 
h3s = soup.findAll('h3') #finding the same as above
print len(h3s)

问题是,它打印 1. 而网页包含至少 10 个“h3”。我无法弄清楚问题出在哪里 我正在使用 python 2.7 和 BeautifulSoup 3.0.7

I'm trying to parse the following web page link.
Code below:

import urllib2
import sys
from BeautifulSoup import BeautifulSoup

url = 'http://www.etsy.com/teams/list'
source = urllib2.urlopen(url)

soup = BeautifulSoup(source)
print soup.prettify()

print len(soup('h3')) #to print the no of occurances of h3 
h3s = soup.findAll('h3') #finding the same as above
print len(h3s)

The problem is, it prints 1. while the web page contains atleast 10 'h3'.I couldn't figure out where the problem lies
I am using python 2.7 and BeautifulSoup 3.0.7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

望她远 2024-12-09 15:27:35

我建议使用 lxml 代替:

>>> import lxml.html
>>> doc = lxml.html.parse('http://www.etsy.com/teams/list')
>>> len(doc.xpath('//h3'))
<<< 10

I'd recommend using lxml instead:

>>> import lxml.html
>>> doc = lxml.html.parse('http://www.etsy.com/teams/list')
>>> len(doc.xpath('//h3'))
<<< 10
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文