Мне нужно сохранить результаты синтаксического анализа в текстовом файле.Преобразование кортежа в строку после разбора html-файла
import urllib
from bs4 import BeautifulSoup
import urlparse
path = 'A html file saved on desktop'
f = open(path,"r")
if f.mode == 'r':
contents = f.read()
soup = BeautifulSoup(contents)
search = soup.findAll('div',attrs={'class':'mf_oH mf_nobr mf_pRel'})
searchtext = str(search)
soup1 = BeautifulSoup(searchtext)
urls = []
for tag in soup1.findAll('a', href = True):
raw_url = tag['href'][:-7]
url = urlparse.urlparse(raw_url)
urls.append(url)
print url.path
with open("1.txt", "w+") as outfile:
for item in urls:
outfile.write(item + "\n")
Однако, я получаю это: Traceback (самый последний вызов последнего): Файл "c.py", строка 26, в outfile.write (п + "\ п") TypeError: может только привязать кортеж (а не «str») к кортежу.
Как преобразовать кортеж в строку и сохранить ее в текстовом файле? Благодарю.
Попробуйте 'print (item)', и вы увидите, что это не строка, а кортеж. Вы можете добавлять только строки. –