Я, кажется, ударил стену своим сценарием. Я пытаюсь заставить его захватить текст комментария с веб-сайта и добавить некоторые основные теги XML. Он захватывает все на странице, и это нужно исправлять, но это вторичная проблема. Я получил сценарий, чтобы разделить текст на главы, но я не могу понять, как дальше разделить его на стихи. Я пытаюсь заменить каждое появление «Verse» в главе с </verse><verse name = "n">
, причем «n» является номером стиха. Я пробовал несколько вещей, в том числе для циклов и ElementTree, но это либо не работает, либо делает каждое имя стиха одинаковым.петли и замена в python
Я попытался положить в следующий код, но он никогда не казалось, чтобы закончить, когда я пытаюсь это:
x = "Verse"
for x in para:
para = para.replace (x, '</verse><verse name = " ' +str(n+1) + ' " >' )
n = n + 1
ниже код, кажется, самый ... функционал, который я сумел сделать это , Любые советы о том, как я должен это исправить или что еще я могу попробовать?
from lxml import html
import requests
name = open("new.txt", "a")
name.write("""<?xml version="1.0"?>""")
name.write("<data>")
n = 0
for i in range(0, 17):
url_base = "http://www.studylight.org/commentaries/acc/view.cgi?bk=45&ch="
url_norm = url_base + str(i)
page = requests.get(url_norm)
tree = html.fromstring(page.text)
para = tree.xpath('/html/body/div[2]//table//text()')
name.write("<chapter name =\"" + str(i) + "\" >")
para = str(para)
para = para.replace("&", " ")
para = para.replace ("Verse", '</verse><verse name = " ' +str(n+1) + ' " >' )
name.write(str(para))
name.write("</chapter>")
name.write("</data>")
name.close()
print "done"