Python Forum

Full Version: my soup.find_all is not finding anything: it runs into a empty-list
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hi there

i use python to do some beginner-webscraping.
i am using a simple basic-script that captures stock price data: the nice thing it should do this in real time, and then it should updating it self.



At the moment i have found out some issues: my soup is finding a empty list -


import bs4

import requests

from bs4 import BeautifulSoup



def parsePrice():

`r=requests.get('`[`http://finance.yahoo.com/quote/FB?p=FB`](http://finance.yahoo.com/quote/FB?p=FB)`')`

`soup=bs4.BeautifulSoup(r.text,"xml")`

`price=soup.find_all('div',{'class':'My(6px) Post(r) smartphone_Mt(6px)'})[0].find('span').text`

`return price`


while True:

`print('the current price_ '+str (parsePrice()))`

Traceback (most recent call last):

File "C:\Users\Kasper\Documents\_f_s_j\_mk_\_dev_\bs\yahoo_finance.py", line 14, in <module>

print('the current price_ '+str (parsePrice()))

File "C:\Users\Kasper\Documents\_f_s_j\_mk_\_dev_\bs\yahoo_finance.py", line 10, in parsePrice

price=soup.find_all('div',{'class':'My(6px) Post(r) smartphone_Mt(6px)'})[0].find('span').text

IndexError: list index out of range

after musing some time i saw: well my soup.find_all is not finding anything: This causes the [0] since it is quite out of range because the find_all returns an empty list.

Wink
It's a mess with no indentation and strange quotation mark Wink
No will code not work anyway,look at Web-scraping part-2 under JavaScript why do i not get all content.
Here a another post take some data from an other stock site.

Also there are API or PyPi modules for many of these stocks sites 5 free stock market APIs for Python in 2020

apollo Wrote:i use python to do some beginner-webscraping
This is not beginner web-scraping,as you have choose one of the hardest site to scrape Doh