Yes – you’re right!

Thanks,

Tommy

 

Fra: Jason Staudenmayer [mailto:jas...@adventureaquarium.com] 
Sendt: 12. januar 2011 16:50
Til: Tommy Kaas; tutor@python.org
Emne: RE: [Tutor] how avoid writing a newline?

 

You should have a comma after the "#" in the highlighted print statement,
that should repress the new line (I'm guessing that's the line you're
talking about)

 

print >> f,t,"#",

 

Jason

 

 

 

..·><((((º>

 -----Original Message-----
From: tutor-bounces+jasons=adventureaquarium....@python.org
[mailto:tutor-bounces+jasons=adventureaquarium....@python.org] On Behalf Of
Tommy Kaas
Sent: Wednesday, January 12, 2011 10:40 AM
To: tutor@python.org
Subject: [Tutor] how avoid writing a newline?

I’m using Activepython 2.6.6 on PC/Win7

 

I have made a small scraper script as an exercise for myself. 

It scrapes the name and some details of the first 25 billionaires on the
Forbes list.

It works and write the result in a text file, with the columns separated by
“#”

It takes the name from the link (t = i.string) – open the link and scrape
details from the next page.

But I can’t find a way to write the name (the variable t) one and only one
time in the beginning of the line.

As t is written now I get it in the beginning of the line but I also get a
newline. 

Can I avoid that in a simple way?

 

Thanks in advance for any help

Tommy

 

 

from BeautifulSoup import BeautifulSoup

from mechanize import Browser

f = open("forbes.txt", "w")

br = Browser()

url =
"http://www.forbes.com/lists/2010/10/billionaires-2010_The-Worlds-Billionair
es_Rank.html"

page = br.open(url)

html = page.read()

soup = BeautifulSoup(html)

table = soup.find("table")

l = table.findAll('a')

for i in l[5:]:

    t = i.string

    print t #to the monitor

    

    br.follow_link(text_regex=r"(.*?)"+t+"(.*?)")

    tekst = br.response().read()

    soup = BeautifulSoup(tekst)

    table1 = soup.find('table', id='billTable')

    rows = table1.findAll('tr')

    print >> f, t,"#" 

    for tr in rows:

        tds = tr.findAll(text=True)

        print >> f, tds[1].string,"#",tds[2].string,"#", 

    print >> f, '\r\n'

 

f.close()

 

 

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to