Hello Aritra, Your standard output and standard error are mixed (I don't know why), so error message is not immediate to read. It is:
> Traceback (most recent call last): > File "C:/Users/Aritra Bhattacharjee/PycharmProjects/PythonWebModules/Web > Scraper.py", line 17, in <module> > print(product_name[i]) > KeyError: 20 There no such `20` title in `product_name`, so we can deduce that `soup.find_all` found only 19 titles. You can to instead: product_name = [] # a list instead of a dict is enought for title in soup.find_all('p', class_="product-title"): product_name.append(title.string) # or this should work too: # product_name = list(soup.find_all('p', class_="product-title")) for title in product_name: # no need of i variable print(title) Quoting Aritra Bhattacharjee (2017-01-02 10:04:59) > I am new to python programming. I wrote a code to search for the product > names on a page of snapdeal.com . > > Code: > import urllib.request > from bs4 import BeautifulSoup as BS > > url = 'https://www.snapdeal.com/products/electronics-headphones?sort=plrty' > > response = urllib.request.urlopen(url).read() > soup = BS(response, 'html.parser') > > #for dataprice in soup.find_all('span', class_="lfloat product-price"): > # print(dataprice) > product_name={} > i=0 > for title in soup.find_all('p', class_="product-title"): > product_name[i]=title.string > i += 1 > for i in range(1,21): > print(product_name[i]) > > > Output: > 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 > Intex Desire BT Over Ear Wired With Mic Headphone Black > JBL T450 On Ear Wired Headphones With Mic Black > Motorola Pulse Max Over Ear Wired Headphones With Mic (Black) > Philips SHB7250WT/00 Over Ear Wireless Headphones With Mic White > Sony MDR-XB650BT On-Ear Extra Bass(XB) Headphones with Bluetooth & NFC (Black) > Intex JAZZ Over Ear Wired With Mic Headphone Black > Skullcandy S5GBW-J539 On Ear Wireless Headphones With Mic Black > JBL C300SI Over Ear Wired Without Mic Headphone Black > Zoook Rocker iFit Bluetooth Wireless Headphones With Mic Black > Signature VM-46 Over Ear Wired Headphone Without Mic White > Sony MDR-G45 Over Ear Wired Without Mic Headphone- Black > Motorola Pulse Max Over Ear Wired Headphones With Mic (White) > Bose SoundTrue Around-Ear Headphones with Mic (Navy Blue) for Samsung and > Android Devices > JBL T450 On Ear Wired Headphones With Mic Blue > Motorola Pulse 2 Over Ear Wired Headphones With Mic (White) > > > The Output shows some error that I could not understand why...Thanks in > Advance > -- > https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list