Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #50430 > unrolled thread
| Started by | Fábio Santos <fabiosantosart@gmail.com> |
|---|---|
| First post | 2013-07-11 10:08 +0100 |
| Last post | 2013-07-11 11:27 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: ElementTree: can't figure out a mismached-tag error Fábio Santos <fabiosantosart@gmail.com> - 2013-07-11 10:08 +0100
Re: ElementTree: can't figure out a mismached-tag error fronagzen@gmail.com - 2013-07-11 02:19 -0700
Re: ElementTree: can't figure out a mismached-tag error Fábio Santos <fabiosantosart@gmail.com> - 2013-07-11 11:27 +0100
| From | Fábio Santos <fabiosantosart@gmail.com> |
|---|---|
| Date | 2013-07-11 10:08 +0100 |
| Subject | Re: ElementTree: can't figure out a mismached-tag error |
| Message-ID | <mailman.4578.1373533692.3114.python-list@python.org> |
[Multipart message — attachments visible in raw view] — view raw
On 11 Jul 2013 10:04, "F.R." <anthra.norell@bluewin.ch> wrote:
>
> Hi all,
>
> I haven't been able to get up to speed with XML. I do examples from the
tutorials and experiment with variations. Time and time again I fail with
errors messages I can't make sense of. Here's the latest one. The url is "
http://finance.yahoo.com/q?s=XIDEQ&ql=0". Ubuntu 12.04 LTS, Python 2.7.3
(default, Aug 1 2012, 05:16:07) [GCC 4.6.3]
>
> >>> import xml.etree.ElementTree as ET
> >>> tree = ET.parse('q?s=XIDEQ') # output of wget
http://finance.yahoo.com/q?s=XIDEQ&ql=0
> Traceback (most recent call last):
> File "<pyshell#69>", line 1, in <module>
> tree = ET.parse('q?s=XIDEQ')
> File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1183, in parse
> tree.parse(source, parser)
> File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 656, in parse
> parser.feed(data)
> File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1643, in feed
> self._raiseerror(v)
> File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1507, in
_raiseerror
> raise err
> ParseError: mismatched tag: line 9, column 2
>
> Below first nine lines. The line numbers and the following space are
hand-edited in. Three dots stand for sections cut out to fit long lines.
Line 6 is a bunch of "meta" statements, all of which I show on a separate
line each in order to preserve the angled brackets. On all lines the angled
brackets have been preserved. The mismatched character is the slash of the
closing tag </head>. What could be wrong with it? And if it is, what about
fault tolerance?
>
> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD . . . /strict.dtd">
> 2 <html lang="en-US">
> 3 <head><meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
> 4 <title>XIDEQ: Summary for EXIDE TECH NEW- Yahoo! Finance</title>
> 5 <meta name="description" xml:space="default" content="View the basic
XIDEQ . . .
> 6 . . . other companies."><meta name="keywords" content="XIDEQ, EXIDE
TECH . . .">
> <meta property="fb:app_id" content="118155468215844">
> <meta property="fb:admins" content="503762770,100001149693905">
> <meta property="og:type" content="company">
> <meta property="og:site_name" content="Yahoo! Finance">
> <meta property="og:title" content="Exide Technologies">
> <meta property="og:image" content="http://l.yimg.com/a/p/fi/31/09/00.jpg
">
> <meta property="og:url" content="http://finance.yahoo.com/q?s=XIDEQ">
> <meta property="og:description" content="View the basic XIDEQ . . .
> 7 other companies."><link rel="canonical" href="
http://finance.yahoo.com/q?s=XIDEQ">
> 8 <link rel="stylesheet" href="http://l.yimg.com/zz/ . . .
type="text/css">
> 9 </head>
> ^
> Mismatch!
>
> Thanks for suggestions
>
> Frederic
That is not XML. It is HTML. You get a mismatched tag because the <link>
tag doesn't need closing in HTML, but in XML every single tag needs closing.
Use an HTML parser. I strongly recommend BeautifulSoup but I think etree
has an HTML parser too. I am not sure..
[toc] | [next] | [standalone]
| From | fronagzen@gmail.com |
|---|---|
| Date | 2013-07-11 02:19 -0700 |
| Message-ID | <3906a61a-1a52-48b8-b9df-fb30c5498e99@googlegroups.com> |
| In reply to | #50430 |
Actually, I don't think etree has a HTML parser. And I would counter-recommend lxml if speed is an issue: BeautifulSoup takes a looooong time to parse a large document.
On Thursday, July 11, 2013 5:08:04 PM UTC+8, Fábio Santos wrote:
> On 11 Jul 2013 10:04, "F.R." <anthra...@bluewin.ch> wrote:
>
> >
>
> > Hi all,
>
> >
>
> > I haven't been able to get up to speed with XML. I do examples from the tutorials and experiment with variations. Time and time again I fail with errors messages I can't make sense of. Here's the latest one. The url is "http://finance.yahoo.com/q?s=XIDEQ&ql=0". Ubuntu 12.04 LTS, Python 2.7.3 (default, Aug 1 2012, 05:16:07) [GCC 4.6.3]
>
>
> >
>
> > >>> import xml.etree.ElementTree as ET
>
> > >>> tree = ET.parse('q?s=XIDEQ') # output of wget http://finance.yahoo.com/q?s=XIDEQ&ql=0
>
> > Traceback (most recent call last):
>
> > File "<pyshell#69>", line 1, in <module>
>
> > tree = ET.parse('q?s=XIDEQ')
>
> > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1183, in parse
>
> > tree.parse(source, parser)
>
> > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 656, in parse
>
> > parser.feed(data)
>
> > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1643, in feed
>
> > self._raiseerror(v)
>
> > File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1507, in _raiseerror
>
> > raise err
>
> > ParseError: mismatched tag: line 9, column 2
>
> >
>
> > Below first nine lines. The line numbers and the following space are hand-edited in. Three dots stand for sections cut out to fit long lines. Line 6 is a bunch of "meta" statements, all of which I show on a separate line each in order to preserve the angled brackets. On all lines the angled brackets have been preserved. The mismatched character is the slash of the closing tag </head>. What could be wrong with it? And if it is, what about fault tolerance?
>
>
> >
>
> > 1 <!DOCTYPE html PUBLIC "-//W3C//DTD . . . /strict.dtd">
>
> > 2 <html lang="en-US">
>
> > 3 <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>
> > 4 <title>XIDEQ: Summary for EXIDE TECH NEW- Yahoo! Finance</title>
>
> > 5 <meta name="description" xml:space="default" content="View the basic XIDEQ . . .
>
> > 6 . . . other companies."><meta name="keywords" content="XIDEQ, EXIDE TECH . . .">
>
> > <meta property="fb:app_id" content="118155468215844">
>
> > <meta property="fb:admins" content="503762770,100001149693905">
>
> > <meta property="og:type" content="company">
>
> > <meta property="og:site_name" content="Yahoo! Finance">
>
> > <meta property="og:title" content="Exide Technologies">
>
> > <meta property="og:image" content="http://l.yimg.com/a/p/fi/31/09/00.jpg">
>
> > <meta property="og:url" content="http://finance.yahoo.com/q?s=XIDEQ">
>
> > <meta property="og:description" content="View the basic XIDEQ . . .
>
> > 7 other companies."><link rel="canonical" href="http://finance.yahoo.com/q?s=XIDEQ">
>
> > 8 <link rel="stylesheet" href="http://l.yimg.com/zz/ . . . type="text/css">
>
> > 9 </head>
>
> > ^
>
> > Mismatch!
>
> >
>
> > Thanks for suggestions
>
> >
>
> > Frederic
>
> That is not XML. It is HTML. You get a mismatched tag because the <link> tag doesn't need closing in HTML, but in XML every single tag needs closing.
>
> Use an HTML parser. I strongly recommend BeautifulSoup but I think etree has an HTML parser too. I am not sure..
[toc] | [prev] | [next] | [standalone]
| From | Fábio Santos <fabiosantosart@gmail.com> |
|---|---|
| Date | 2013-07-11 11:27 +0100 |
| Message-ID | <mailman.4581.1373538425.3114.python-list@python.org> |
| In reply to | #50432 |
[Multipart message — attachments visible in raw view] — view raw
On 11 Jul 2013 10:24, <fronagzen@gmail.com> wrote: > > Actually, I don't think etree has a HTML parser. And I would counter-recommend lxml if speed is an issue: BeautifulSoup takes a looooong time to parse a large document. > > On Thursday, July 11, 2013 5:08:04 PM UTC+8, Fábio Santos wrote: > > > > Use an HTML parser. I strongly recommend BeautifulSoup but I think etree has an HTML parser too. I am not sure.. I meant lxml. My apologies.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web