row.find_all('td')
дает вам список со всеми td
в строке, поэтому вам нужно только преобразовать в список с текстом из каждого td
all_td = row.find_all('td')
arguments = [x.text.strip() for x in all_td]
, а затем у вас есть аргументы для INSERT
import urllib.request
from bs4 import BeautifulSoup
html_url = 'https://markets.wsj.com/'
html_doc = urllib.request.urlopen(html_url).read()
soup = BeautifulSoup(html_doc, 'html.parser')
markets = soup.find(id='majorStockIndexes_moduleId')
marketRows = markets.tbody.find_all('tr')
for row in marketRows:
all_td = row.find_all('td')
arguments = [x.text.strip() for x in all_td]
print(arguments)
# ... here INSERT data to database ...
Отображаемые данные
['DJIA', '26150.58', '-190.44', '-0.72%']
['Nasdaq', '7909.28', '-44.61', '-0.56%']
['S&P 500', '2878.20', '-17.57', '-0.61%']
['Russell 2000', '1559.68', '-19.32', '-1.22%']
['Global Dow', '3061.02', '-4.21', '-0.14%']
['Japan: Nikkei 225', '21653.01', '-149.58', '-0.69%']
['Stoxx Europe 600', '385.68', '-1.83', '-0.47%']
['UK: FTSE 100', '7425.57', '-26.32', '-0.35%']