On Wed, 18 Nov 2015 08:37:47 -0800, ryguy7272 wrote:
> I'm trying the script below...
The problem isn't that you're over-writing the lines (although it may
seem that way to you), the problem is that you're overwriting the whole
file every time you write a link to it. This is because you open and
close the file for every link you write, and you do so in file mode "wb"
which restarts writing at the first byte of the file every time.
You only need to open and close the text file once, instead of for every
link you output. Try moving the lines to open and close the file outside
the outer for loop to change the loop from:
for item in soup.find_all(class_='lister-list'):
for link in item.find_all('a'):
# open file
# write link to file
# close file
to:
# open file
for item in soup.find_all(class_='lister-list'):
for link in item.find_all('a'):
# write link to file
# close file
Alternatively, use the with form:
with open("blah","wb") as text_file:
for item in soup.find_all(class_='lister-list'):
for link in item.find_all('a'):
# write link to file
--
Denis McMahon, [email protected]
--
https://mail.python.org/mailman/listinfo/python-list