我有一个代码,它使用while循环打印网页的<a href>
和</a>
标记中包含的任何内容。我可以提取所需的索引以及它们之间写入的内容,也可以打印它们。该程序应该只打印一次url,然后继续前进并增加索引,直到找到<a href>
和</a>
的下一个索引值,打印它们之间的任何内容并继续这样做直到字符串结束,打印每个新的网址都在单独的一行中找到。这里是代码:多次Python程序打印结果
text = """ohsfhskfheifhsefis <a href = "fdnsfjsnfsnfns snkfsndfskj"</a>
<a href = "snfksnfsdf"</a>"""
index = 0
a = 0
b = 0
while index < len(text):
a = text.find('href', index)
b = text.find('/a', index)
print(text[a:b])
index = index + 2
if index >= len(text):
print("End")
break
但是,当我运行该程序时,它出现故障,如图像所示。
显然我在这里使用的逻辑是错误的。我知道还有其他更简单的方法可以完成这个任务,但是我没有找到更复杂的东西,因为我最近才开始学习Python,并且现在想要这样做。
On the left is the first part of the Program. On the right is the second.
您也可以清楚地看到空格被冷落,因为程序将打印网址在索引的每一个增量。
任何形式的帮助将不胜感激。与index
设置为0
它的工作,但现在有一个无限循环。 – Hamza
@Catastrophe:当'a == -1或b == -1'时中断。 –