Обратите внимание, что у вас есть завершающая строка в этой строке
products = (findall('''data-desc =(.*?)data-price =''',html_code))[:5],
, что означает, что после products
это tuple
, попытка конкатенации кортежа с str или str с кортежем приведет к
TypeError: can only concatenate tuple (not "str") to tuple
Это конечный ,
намеренно в вашем коде? Если не удалите его и проверьте, какой он тип, например, выполнив:
products = (findall('''data-desc =(.*?)data-price =''',html_code))[:5]
print(type(products))
Если это str
, вы можете объединить его с \n
, если это tuple
или list
вам нужно сначала преобразовать его для str, если все элементы list
или tuple
равны str
s, вы можете использовать .join
следующим образом:
my_tuple = ('1','2','3')
my_list = ['1','2','3']
joined_tuple = ','.join(my_tuple)
joined_list = ','.join(my_list)
print(joined_tuple) # 1,2,3
print(joined_list) # 1,2,3