Hi,
I'm trying to strip the html and other useless junk from a html page..
Id like to create something like an automated text editor, where it
takes the keywords from a txt file and removes them from the html page
(replace the words in the html page with blank space) I'm new to python
and could use a little push in the right direction, any ideas on how to
implement this?
Thanks! 13 4016
DH,
Could you be more specific describing what you have and what you want? You are addressing people, many of whom are good at
stripping useless junk once you tell them what 'useless junk' is.
Also it helps to post some of you data that you need to process and a sample of the same data as it should look once it is
processed.
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 2:11 AM
Subject: Taking data from a text file to parse html page
Hi,
I'm trying to strip the html and other useless junk from a html page..
Id like to create something like an automated text editor, where it
takes the keywords from a txt file and removes them from the html page
(replace the words in the html page with blank space) I'm new to python
and could use a little push in the right direction, any ideas on how to
implement this?
Thanks!
-- http://mail.python.org/mailman/listinfo/python-list
DH wrote:
Hi,
I'm trying to strip the html and other useless junk from a html page..
Id like to create something like an automated text editor, where it
takes the keywords from a txt file and removes them from the html page
(replace the words in the html page with blank space) I'm new to python
and could use a little push in the right direction, any ideas on how to
implement this?
Thanks!
See Beautiful Soup: http://www.crummy.com/software/BeautifulSoup/
it will parse even badly formed HTML and allow you to extract/change
information as you wish.
-Larry Bates
Frederic,
Good points...
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
I would post the data but it's secret. I can post an example:
index.html (html page)
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
<div><p><em>"
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
something.txt(file after editing)
"
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
Larry,
I've looked into using BeatifulSoup but came to the conculsion that my
idea would work better in the end.
Thanks for the help.
Anthra Norell wrote:
DH,
Could you be more specific describing what you have and what you want? You are addressing people, many of whom are good at
stripping useless junk once you tell them what 'useless junk' is.
Also it helps to post some of you data that you need to process and a sample of the same data as it should look once it is
processed.
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 2:11 AM
Subject: Taking data from a text file to parse html page
Hi,
I'm trying to strip the html and other useless junk from a html page..
Id like to create something like an automated text editor, where it
takes the keywords from a txt file and removes them from the html page
(replace the words in the html page with blank space) I'm new to python
and could use a little push in the right direction, any ideas on how to
implement this?
Thanks!
-- http://mail.python.org/mailman/listinfo/python-list
DH wrote:
I'm trying to strip the html and other useless junk from a html page..
Id like to create something like an automated text editor, where it
takes the keywords from a txt file and removes them from the html page
(replace the words in the html page with blank space)
[...]
I've looked into using BeatifulSoup but came to the conculsion that my
idea would work better in the end.
You could use BeautifulSoup anyway for the junk-removal part and then do
your magic. Even if it is not exactly what you want, it is a good idea to
try to reuse modules that are good at what they do.
--
Roberto Bonvallet
DH wrote:
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
I would post the data but it's secret. I can post an example:
index.html (html page)
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
<div><p><em>"
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
something.txt(file after editing)
"
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
reading and writing files is described in the tutorial; see http://pytut.infogami.com/node9.html
(scroll down to "Reading and Writing Files")
to do the replacement, you can use repeated calls to the "replace" method http://pyref.infogami.com/str.replace
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see: http://effbot.org/zone/python-replace.htm#multiple
</F>
I found this http://groups.google.com/group/comp....0ac6b1ac8cff51
Credit Jeremy Moles
-----------------------------------------------
finds = ("{", "}", "(", ")")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
I want something like
-----------------------------------------------
finds = file("replace.txt")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
Fredrik Lundh wrote:
DH wrote:
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
I would post the data but it's secret. I can post an example:
index.html (html page)
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
<div><p><em>"
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
something.txt(file after editing)
"
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
reading and writing files is described in the tutorial; see
http://pytut.infogami.com/node9.html
(scroll down to "Reading and Writing Files")
to do the replacement, you can use repeated calls to the "replace" method
http://pyref.infogami.com/str.replace
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see:
http://effbot.org/zone/python-replace.htm#multiple
</F>
You may also want to look at this stream editor: http://cheeseshop.python.org/pypi/SE/2.2%20beta
It allows multiple replacements in a definition format of utmost simplicity:
>>your_example = '''
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
'''
>>import SE Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes comments entirely even if they nest tags
''')
>>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig, <a class="reference"
Now you see a tag fragment. So you add another deletion to the Tag_Stripper (***):
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # *** This deletes the fragment
# "-- Peter Norvig, <a class\="reference"=" # Or like this if Peter Norvig has to go too
''')
>>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig,
" you can either translate or delete:
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # This deletes the fragment
# "-- Peter Norvig, <a class=\\"reference\\"=" # Or like this if Peter Norvig has to go too
htm2iso.se # This is a file (contained in the SE package that translates all ampersand codes.
# Naming the file is all you need to do to include the replacements which it defines.
''')
>>print Tag_Stripper (your_example)
'Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
'
-- Peter Norvig,
If instead of "htm2iso.se" you write ""=" you delete it and your output will be:
Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
-- Peter Norvig,
Your Tag_Stripper also does files:
>>print Tag_Stripper ('my_file.htm', 'my_file_without_tags')
'my_file_without_tags'
A stream editor is not a substitute for a parser. It does handle more economically simple translation jobs like this one where a
parser does a lot of work which you don't need.
Regards
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 7:41 PM
Subject: Re: Taking data from a text file to parse html page
I found this http://groups.google.com/group/comp....ce+text+file&r
num=8#ad0ac6b1ac8cff51
>
Credit Jeremy Moles
-----------------------------------------------
finds = ("{", "}", "(", ")")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
I want something like
-----------------------------------------------
finds = file("replace.txt")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
Fredrik Lundh wrote:
DH wrote:
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
>
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
>
I would post the data but it's secret. I can post an example:
>
index.html (html page)
>
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
>
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
>
<div><p><em>"
>
"</em></p>
>
<p>-- Peter Norvig, <a class="reference"
>
"
>
something.txt(file after editing)
>
"
>
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
reading and writing files is described in the tutorial; see http://pytut.infogami.com/node9.html
(scroll down to "Reading and Writing Files")
to do the replacement, you can use repeated calls to the "replace" method http://pyref.infogami.com/str.replace
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see: http://effbot.org/zone/python-replace.htm#multiple
</F>
-- http://mail.python.org/mailman/listinfo/python-list
SE looks very helpful... I'm having a hell of a time installing it
though:
-----------------------------------------------------------------------------------------
foo@foo:~/Desktop/SE-2.2$ sudo python SETUP.PY install
running install
running build
running build_py
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
------------------------------------------------------------------------------------------
Anthra Norell wrote:
You may also want to look at this stream editor:
http://cheeseshop.python.org/pypi/SE/2.2%20beta
It allows multiple replacements in a definition format of utmost simplicity:
>your_example = '''
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
'''
>import SE Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes comments entirely even if they nest tags
''')
>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig, <a class="reference"
Now you see a tag fragment. So you add another deletion to the Tag_Stripper (***):
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # *** This deletes the fragment
# "-- Peter Norvig, <a class\="reference"=" # Or like this if Peter Norvig has to go too
''')
>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig,
" you can either translate or delete:
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # This deletes the fragment
# "-- Peter Norvig, <a class=\\"reference\\"=" # Or like this if Peter Norvig has to go too
htm2iso.se # This is a file (contained in the SE package that translates all ampersand codes.
# Naming the file is all you need to do to include the replacements which it defines.
''')
>print Tag_Stripper (your_example)
'Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
'
-- Peter Norvig,
If instead of "htm2iso.se" you write ""=" you delete it and your output will be:
Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
-- Peter Norvig,
Your Tag_Stripper also does files:
>print Tag_Stripper ('my_file.htm', 'my_file_without_tags')
'my_file_without_tags'
A stream editor is not a substitute for a parser. It does handle more economically simple translation jobs like this one where a
parser does a lot of work which you don't need.
Regards
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 7:41 PM
Subject: Re: Taking data from a text file to parse html page
I found this
http://groups.google.com/group/comp....ce+text+file&r
num=8#ad0ac6b1ac8cff51
Credit Jeremy Moles
-----------------------------------------------
finds = ("{", "}", "(", ")")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
I want something like
-----------------------------------------------
finds = file("replace.txt")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
Fredrik Lundh wrote:
DH wrote:
>
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
I would post the data but it's secret. I can post an example:
index.html (html page)
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
<div><p><em>"
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
something.txt(file after editing)
"
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
>
reading and writing files is described in the tutorial; see
> http://pytut.infogami.com/node9.html
>
(scroll down to "Reading and Writing Files")
>
to do the replacement, you can use repeated calls to the "replace" method
> http://pyref.infogami.com/str.replace
>
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see:
> http://effbot.org/zone/python-replace.htm#multiple
>
>
</F>
-- http://mail.python.org/mailman/listinfo/python-list
Surely you write your own programs. (program_name.py). You import and run them. You may put SE.PY and SEL.PY into the same
directory. That's all.
Or if you prefer to keep other people's stuff in a different directory, just make sure that directory is in "sys.path",
because that is where import looks. Check for that directory's presence in the sys.path list:
>>sys.path
['C:\\Python24\\Lib\\idlelib', 'C:\\', 'C:\\PYTHON24\\DLLs', 'C:\\PYTHON24\\lib', 'C:\\PYTHON24\\lib\\plat-win',
'C:\\PYTHON24\\lib\\lib-tk' (... etc) ]
Supposing it isn't there, add it:
>>sys.path.append ('/python/code/other_peoples_stuff') import SE
That should do it. Let me know if it works. Else just keep asking.
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Friday, August 25, 2006 4:40 AM
Subject: Re: Taking data from a text file to parse html page
SE looks very helpful... I'm having a hell of a time installing it
though:
-----------------------------------------------------------------------------------------
foo@foo:~/Desktop/SE-2.2$ sudo python SETUP.PY install
running install
running build
running build_py
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
------------------------------------------------------------------------------------------
Anthra Norell wrote:
You may also want to look at this stream editor: http://cheeseshop.python.org/pypi/SE/2.2%20beta
It allows multiple replacements in a definition format of utmost simplicity:
>>your_example = '''
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
'''
>>import SE
>>Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes comments entirely even if they nest tags
''')
>>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig, <a class="reference"
Now you see a tag fragment. So you add another deletion to the Tag_Stripper (***):
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # *** This deletes the fragment
# "-- Peter Norvig, <a class\="reference"=" # Or like this if Peter Norvig has to go too
''')
>>print Tag_Stripper (your_example)
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig,
" you can either translate or delete:
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # This deletes the fragment
# "-- Peter Norvig, <a class=\\"reference\\"=" # Or like this if Peter Norvig has to go too
htm2iso.se # This is a file (contained in the SE package that translates all ampersand codes.
# Naming the file is all you need to do to include the replacements which it defines.
''')
>>print Tag_Stripper (your_example)
'Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
'
-- Peter Norvig,
If instead of "htm2iso.se" you write ""=" you delete it and your output will be:
Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
-- Peter Norvig,
Your Tag_Stripper also does files:
>>print Tag_Stripper ('my_file.htm', 'my_file_without_tags')
'my_file_without_tags'
A stream editor is not a substitute for a parser. It does handle more economically simple translation jobs like this one where a
parser does a lot of work which you don't need.
Regards
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 7:41 PM
Subject: Re: Taking data from a text file to parse html page
I found this
>
http://groups.google.com/group/comp....ce+text+file&r
num=8#ad0ac6b1ac8cff51
>
Credit Jeremy Moles
-----------------------------------------------
>
finds = ("{", "}", "(", ")")
lines = file("foo.txt", "r").readlines()
>
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
>
print lines
>
-----------------------------------------------
>
I want something like
-----------------------------------------------
>
finds = file("replace.txt")
lines = file("foo.txt", "r").readlines()
>
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
>
print lines
>
-----------------------------------------------
>
>
>
Fredrik Lundh wrote:
DH wrote:
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
>
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
>
I would post the data but it's secret. I can post an example:
>
index.html (html page)
>
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
>
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
>
<div><p><em>"
>
"</em></p>
>
<p>-- Peter Norvig, <a class="reference"
>
"
>
something.txt(file after editing)
>
"
>
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
reading and writing files is described in the tutorial; see http://pytut.infogami.com/node9.html
(scroll down to "Reading and Writing Files")
to do the replacement, you can use repeated calls to the "replace" method http://pyref.infogami.com/str.replace
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see: http://effbot.org/zone/python-replace.htm#multiple
</F>
>
-- http://mail.python.org/mailman/listinfo/python-list
-- http://mail.python.org/mailman/listinfo/python-list
Yes I know how to import modules... I think I found the problem, Linux
handles upper and lower case differently, so for some reason you can't
import SE but if you rename it to se it gives you the error that it
can't find SEL which if you rename it will complain that that SEL isn't
defined... Are you running Linux? Have you tested it with Linux?
Surely you write your own programs. (program_name.py). You import and run them. You may put SE.PY and SEL.PY into the same
directory. That's all.
Or if you prefer to keep other people's stuff in a different directory, just make sure that directory is in "sys.path",
because that is where import looks. Check for that directory's presence in the sys.path list:
>sys.path
['C:\\Python24\\Lib\\idlelib', 'C:\\', 'C:\\PYTHON24\\DLLs', 'C:\\PYTHON24\\lib', 'C:\\PYTHON24\\lib\\plat-win',
'C:\\PYTHON24\\lib\\lib-tk' (... etc) ]
Supposing it isn't there, add it:
>sys.path.append ('/python/code/other_peoples_stuff') import SE
That should do it. Let me know if it works. Else just keep asking.
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Friday, August 25, 2006 4:40 AM
Subject: Re: Taking data from a text file to parse html page
SE looks very helpful... I'm having a hell of a time installing it
though:
-----------------------------------------------------------------------------------------
foo@foo:~/Desktop/SE-2.2$ sudo python SETUP.PY install
running install
running build
running build_py
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
file SEL.py (for module SEL) not found
file SE.py (for module SE) not found
------------------------------------------------------------------------------------------
Anthra Norell wrote:
You may also want to look at this stream editor:
> http://cheeseshop.python.org/pypi/SE/2.2%20beta
>
It allows multiple replacements in a definition format of utmost simplicity:
>
>your_example = '''
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
'''
>import SE
>Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes comments entirely even if they nest tags
''')
>print Tag_Stripper (your_example)
>
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig, <a class="reference"
>
Now you see a tag fragment. So you add another deletion to the Tag_Stripper (***):
>
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # *** This deletes the fragment
# "-- Peter Norvig, <a class\="reference"=" # Or like this if Peter Norvig has to go too
''')
>print Tag_Stripper (your_example)
>
"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"
-- Peter Norvig,
>
" you can either translate or delete:
>
Tag_Stripper = SE.SE ('''
"~<(.|\n)*?>~=" # This pattern finds all tags and deletes them (replaces with nothing)
"~<!--(.|\n)*?-->~=" # This pattern deletes commentsentirely even if they nest tags
"<a class\="reference"=" # This deletes the fragment
# "-- Peter Norvig, <a class=\\"reference\\"=" # Or like this if Peter Norvig has to go too
htm2iso.se # This is a file (contained in the SE package that translates all ampersand codes.
# Naming the file is all you need to do to include the replacements which it defines.
''')
>
>print Tag_Stripper (your_example)
>
'Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
'
-- Peter Norvig,
>
If instead of "htm2iso.se" you write ""=" you delete it and your output will be:
>
Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
>
-- Peter Norvig,
>
Your Tag_Stripper also does files:
>
>print Tag_Stripper ('my_file.htm', 'my_file_without_tags')
'my_file_without_tags'
>
>
A stream editor is not a substitute for a parser. It does handle more economically simple translation jobs like this one where a
parser does a lot of work which you don't need.
>
Regards
>
Frederic
>
>
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Thursday, August 24, 2006 7:41 PM
Subject: Re: Taking data from a text file to parse html page
>
>
I found this
>
http://groups.google.com/group/comp....ce+text+file&r
num=8#ad0ac6b1ac8cff51
Credit Jeremy Moles
-----------------------------------------------
finds = ("{", "}", "(", ")")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
I want something like
-----------------------------------------------
finds = file("replace.txt")
lines = file("foo.txt", "r").readlines()
for line in lines:
for find in finds:
if find in line:
line.replace(find, "")
print lines
-----------------------------------------------
Fredrik Lundh wrote:
DH wrote:
>
I have a plain text file containing the html and words that I want
removed(keywords) from the html file, after processing the html file it
would save it as a plain text file.
So the program would import the keywords, remove them from the html
file and save the html file as something.txt.
I would post the data but it's secret. I can post an example:
index.html (html page)
"
<div><p><em>"Python has been an important part of Google since the
beginning, and remains so as the system grows and evolves.
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
replace.txt (keywords)
"
<div id="quote" class="homepage-box">
<div><p><em>"
"</em></p>
<p>-- Peter Norvig, <a class="reference"
"
something.txt(file after editing)
"
Python has been an important part of Google since the beginning, and
remains so as the system grows and evolves.
"
>
reading and writing files is described in the tutorial; see
> http://pytut.infogami.com/node9.html
>
(scroll down to "Reading and Writing Files")
>
to do the replacement, you can use repeated calls to the "replace" method
> http://pyref.infogami.com/str.replace
>
but that may cause problems if the replacement text contains things that
should be replaced. for an efficient way to do a "parallel" replace, see:
> http://effbot.org/zone/python-replace.htm#multiple
>
>
</F>
-- http://mail.python.org/mailman/listinfo/python-list
-- http://mail.python.org/mailman/listinfo/python-list
No, I am not running Linux to any extent. But I am very strict about case. There is not a single instance of "se.py" or "sel.py"
anywhere on my system. You' ll have to find out where lower case sneaks in on yours. The zip file preserves case and in the zip file
the names are upper case. I am baffled. But I believe that an import tripping up on the wrong case can't be a hard nut to crack.
Frederic
----- Original Message -----
From: "DH" <dy*********@gmail.com>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Saturday, August 26, 2006 5:47 AM
Subject: Re: Taking data from a text file to parse html page
Yes I know how to import modules... I think I found the problem, Linux
handles upper and lower case differently, so for some reason you can't
import SE but if you rename it to se it gives you the error that it
can't find SEL which if you rename it will complain that that SEL isn't
defined... Are you running Linux? Have you tested it with Linux?
Anthra Norell wrote:
No, I am not running Linux to any extent. But I am very strict about case. There is not a single instance of "se.py" or "sel.py"
anywhere on my system. You' ll have to find out where lower case sneaks in on yours. The zip file preserves case and in the zip file
the names are upper case. I am baffled. But I believe that an import tripping up on the wrong case can't be a hard nut to crack.
The problem is the extension:
SE.py is acceptable, while SE.PY is not.
Georg
Yes! It just occurred to my that this could be the problem. I have to change that. Thanks for the hint.
Frederic
----- Original Message -----
From: "Georg Brandl" <g.*************@gmx.net>
Newsgroups: comp.lang.python
To: <py*********@python.org>
Sent: Saturday, August 26, 2006 1:59 PM
Subject: Re: Taking data from a text file to parse html page
Anthra Norell wrote:
No, I am not running Linux to any extent. But I am very strict about case. There is not a single instance of "se.py" or "sel.py"
anywhere on my system. You' ll have to find out where lower case sneaks in on yours. The zip file preserves case and in the zip
file
the names are upper case. I am baffled. But I believe that an import tripping up on the wrong case can't be a hard nut to crack.
The problem is the extension:
SE.py is acceptable, while SE.PY is not.
Georg
-- http://mail.python.org/mailman/listinfo/python-list This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Tesla |
last post by:
Hey guys, i need help on writing PHP code to go to an HTML page
(http://example:8343/index.html), and pass the text on that page onto a
variable. I dont know how to do this.
What i plan to do...
|
by: dawnunder |
last post by:
eg.
Someone fills out 3 fields. (There will be more but this is just to
give you an idea)
1. Country?
2. State?
3. City
I want this script to generate a web page and list the people by
|
by: cv |
last post by:
Hi all,
I have to copy two set of data from 2 files(notepad/excel) say,
products and their corresponding prices to list/textarea/table. I
should be able to retrieve the product and corresponding...
|
by: nate |
last post by:
Hello,
Does anyone know where I can find an ASP server side script written in
JavaScript to parse text fields from a form method='POST' using
enctype='multipart/form-data'? I'd also like it to...
|
by: Colin Young |
last post by:
I'm having a bit of a problem with my DataList when I try to update from the
user's input. I've included relevant excerpts at the end of this message. In
the UpdateCommand code, the...
|
by: pmud |
last post by:
Hi,
I am using teh following code for sorting the data grid but it doesnt work.
I have set the auto generate columns to false. & set the sort expression for
each field as the anme of that...
|
by: hawat.thufir |
last post by:
Given an xhtml file, how can I "export" the data to plain-text? That is,
I want:
google www.google.com
Whereas, if I copy and paste what the browser shows, I lose the URL and
end up with:...
|
by: Jeff |
last post by:
I asked this question sometime ago. some help was given, but A.) i didn't
understand the help and B.) I can't find the post.
i am looking for a way to take a table of stats on an HTML page, and...
|
by: MissElegant |
last post by:
Hi all,
I have tried to do a test to a lesson which was in the internet, but it doesn't work?
ANYBody here to help please??
The problem that what I enter in the textbox should be sent to the...
|
by: Kemmylinns12 |
last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
|
by: Naresh1 |
last post by:
What is WebLogic Admin Training?
WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
|
by: antdb |
last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine
In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
|
by: WisdomUfot |
last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
|
by: Carina712 |
last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand. Background colors can be used to highlight important...
|
by: BLUEPANDA |
last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS starter kit that's not only easy to use but also...
|
by: Rahul1995seven |
last post by:
Introduction:
In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
|
by: ezappsrUS |
last post by:
Hi,
I wonder if someone knows where I am going wrong below. I have a continuous form and two labels where only one would be visible depending on the checkbox being checked or not. Below is the...
|
by: jack2019x |
last post by:
hello, Is there code or static lib for hook swapchain present?
I wanna hook dxgi swapchain present for dx11 and dx9.
| |