我正在尝试关于页面排名的项目。我想制作一个如下所示的索引(字典):
file1.html -> [[cat, ate, food, drank, milk], [file2.html, file3.html]]
file2.html -> [[dog, barked, ran, away], [file1.html, file4.html]]
获取链接很简单 - 寻找锚标签。我的问题是 - 如何获取文字? html文件中的文本未包含在<p>
等任何标记中。
以下是其中一个输入HTML文件的示例:
d_9.html
d_3.htmlbedote charlatanism undecision pudsey Antaean haec euphoniously Bixa细菌学上犹豫不决Hobbist petrosa值得称道的高贵无角化学痰盂flatiron flatiron flatiron flatiron sacmatospermatocele theosophically sarking nontruth possessionist gravimetry matico unlawly abator hyetological Microconodon supermuscan
也许,上面的文字不是HTML,但是我该如何获取和解析呢?有什么想法吗?
答案 0 :(得分:1)
解决这个问题的一种方法是简单地忽略所有标签,并假设你留下的是文本。它会使正则表达式变大。
答案 1 :(得分:0)
我不会使用正则表达式,我会使用lxml之类的东西,这样你就可以根据需要获得标签,文本以及文档的结构。
答案 2 :(得分:0)
您说文本“不是HTML”,“并未包含在任何标记内”。所以它只是纯文本,没有什么要解析的。获取url,返回给你的内容是一个充满单词的字符串。用.split()拆分单词,你就有了一个单词列表。
答案 3 :(得分:0)
我认为你想要的是从HTML文件中获取数据(链接,关键字......),但问题是HTML文件的某些部分不包含任何要解析的标记它是否正确,还是所有没有标签的HTML文件?如果是,你可以使用tidy格式化html文件,它可以帮助你解析它;
所以,如果我是你,我将使用正则表达式来匹配类似的链接:
links = re.finditer(".*html", text) # by the way the regex must be more complicated than that.
关键字“[猫,吃,食,喝,牛奶]”我不知道你在找什么;
希望这可以提供帮助