【发布时间】:2016-04-10 06:00:14
【问题描述】:
以下代码获取 HTML 文件中的所有链接并将其写入文本文件。但它也在复制重复的行(链接)。有没有办法确保它不会写入文件中已经存在的链接?任何方法这样我就不必手动编写功能了?
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def handle_starttag(self,tag,attrs):
if tag=="a":
if attrs.__len__>0:
for a in attrs:
if a[0]=="href":
print a[1]
f=open("index_link.txt","a+")
f.write(a[1]+"\n")
def main():
parser=MyHTMLParser()
f=open("index.html")
if f.mode=="r":
contents=f.read()
parser.feed(contents)
else:
print ("No file found")
f=open("textfile.html","w+")
f.write(contents)
if __name__=="__main__":
main()
【问题讨论】:
-
缓存链接写在dict中的链接应该可以工作
-
保留一组链接并检查链接是否已经在其中?
-
设置可能有效。检查 set 中的重复的语法是什么?谢谢
标签: python python-2.7 file-handling