2010-10-16 75 views
0

我想要一本關於網頁排名項目工作中不封閉。我想做一個索引(字典),看起來像這樣:抓取和分析文本標記

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.html

bedote charlatanism nondecision帕德西Antaean HAEC euphoniously Bixa細菌學欲言又止Hobbist petrosa emendable counterembattled高貴hornlessness chemolyze痰盂烙鐵formalith wreathingly hematospermatocele theosophically襯板nontruth possessionist重力matico unlawly abator hyetological Microconodon supermuscan

也許,上面的文字是不是HTML,但後來我如何獲取和分析呢?有任何想法嗎?

回答

1

解決這個問題的一種方法是簡單地忽略所有標籤,並將剩下的內容假定爲文本。它會使正則表達式很大。

0

我不會用正則表達式,我會使用類似lxml,這樣你可以得到標籤,文本,也需要文檔的結構。

0

你說的文字是「不是HTML」,「沒有包含在任何標籤內」。所以它只是純文本,沒有什麼可以解析的。獲取網址,並返回給您的內容是一個充滿單詞的字符串。用.split()拆分單詞,並且您有單詞列表。

0

我想你想要的是從HTML文件中獲取數據(鏈接,關鍵字...),但是你的問題是,你的HTML文件的的一部分沒有包含任何標籤來解析它,或者這是所有沒有標籤的HTML文件嗎?如果是的話,你可以使用tidy格式化HTML文件,它可以幫助你解析它;

所以如果我是你,我將只使用正則表達式匹配的鏈接是這樣的:

links = re.finditer(".*html", text) # by the way the regex must be more complicated than that. 

和關鍵字「[貓,吃,食品,喝,牛奶]」我不知道是什麼你正在尋找;

希望這可以幫助