Этот код получает изображения с веб-сайта, но для некоторых я получаю list index out of range
, у которого нет данных img. Как это преодолеть. Использовал много исключений try, Есть ли какой-нибудь способ, кроме try-кроме
url =
https://www.redbook.com.au/cars/details/2016-isuzu-d-max-ls-u-high-ride-auto-4x2-my155/SPOT-ITM-445820/
Для которого нет изображения, я получаю эту ошибку
list index out of range
как для этого URL
https://www.redbook.com.au/cars/details/2019-audi-s3-auto-quattro-my19/SPOT-ITM-522293/
Как пропустить эту ситуацию
код:
# -*- coding: utf-8 -*-
import lxml.html as lh
import pandas as pd
import html
from lxml import html
from bs4 import BeautifulSoup
import requests
import requests
from bs4 import BeautifulSoup as bs
import requests
from bs4 import BeautifulSoup as bs
import re
import json
cars = [] # gobal array for storing each car_data object
with open('url.txt') as f:
# read file without newlines
urls = f.read().splitlines()
for url in urls:
car_data = {} # use it as a local variable
headers = {'User-Agent': 'Mozilla/5.0'}
page = requests.get(url, headers=headers)
tree = html.fromstring(page.content)
soup = bs(page.content, 'html.parser')
img_url = tree.xpath('//ul/li/a/img/@src')[0]
img_url = str(img_url)
img_url = img_url + '0'
car_data['image_url'] = img_url
script = soup.find('script', text=re.compile('CsnInsights.metaData'))
jsonData = \
json.loads(script.text.split('CsnInsights.metaData = ')[-1].rsplit(';', 1)[0])