On Monday, January 2, 2017 at 2:35:22 PM UTC+5:30, Aritra Bhattacharjee wrote:
> I am new to python programming. I wrote a code to search for the product 
> names on a page of snapdeal.com .

[RM]: Welcome and have fun.

> for i in range(1,21):
>     print(product_name[i])
> 
> 
> Output:
> Traceback (most recent call last):
> Motorola Pulse 2 Over Ear Wired Headphones With Mic (Black)
> Bose SoundLink On-Ear Bluetooth Headphones - Black & Blue
> Sony MDR-ZX110A Headphones Without Mic (White)
> Philips SBCHL140/98 Over Ear Headphone Without Mic
>   File "C:/Users/Aritra Bhattacharjee/PycharmProjects/PythonWebModules/Web 
> Scraper.py", line 17, in <module>
> Intex Desire BT Over Ear Wired With Mic Headphone Black
>     print(product_name[i])
> JBL T450 On Ear Wired Headphones With Mic Black
> KeyError: 20
. . . . 
. . . . 
> The Output shows some error that I could not understand why...Thanks in 
> Advance

[RM]: You should read tracebacks stack from the bottom. Initially there will be 
hiccups but over a period of time you will learn.

>From your code snippet: for loop is supplied with a range of 1 to 21 and while 
>the key value (variable, i) is 20, print fails there. In the previous loop, 
>where you are using methods in BeautifulSoup, are you sure that many items are 
>added to the list, product_name.

If I were you, in the loop where the list is expanded by adding the product 
title names, will rename the variable, i, as 'product_counter'. And, in the 
last for loop, this counter can be used in the rangem like, (0, 
product_counter).

All the best,
/Ram
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to