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, denismfmcma...@gmail.com
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to