Beautifulsoup print same class name different occurrences

Viewed 46

My output is this as follows:

for foo in soup.findAll('li', class_= ['cell036 tal arrow','cell009']):
    bar = foo.find(['a'])
    #print(type(bar))
    if bar is None:
        print foo 
    else:
        print bar.text  

It prints like

ALGYO
<li class="cell009">12,45</li>
<li class="cell009">54,65</li>...

... ...

I want only 1st occurrence and 5th occurrence of cell009 class.

1 Answers

Not sure about methods of beautifulsoup, but a simple modification in above code can do your job:

i = 0
for foo in soup.findAll('li', class_= ['cell036 tal arrow','cell009']):
    bar = foo.find(['a'])
    #print(type(bar))
    if bar is None:
        print foo 
    elif i == 0 or i == 4:
        print bar.text
    i+=1
Related