2017-01-30 90 views
0

我有一個.html文件,它根據程序中採取的操作獲取動態填充,但是當搜索一個確切的字符串時,我遇到了一個問題,問題是雖然我知道該文件不是空白的,循環不返回任何東西,並認爲它的空白。python在.html文件中查找確切的字符串

我已經搜索並閱讀其他許多SO問題,並嘗試了許多人,包括'blah' in linere.findallwith open()所有他們只返回空的時候,我想我需要HTML解析或相似? 任何人都可以爲我闡明這一點嗎?

f = open(outApp + '_report.html', 'r+') 
for line in f: 
    #check the for loop works 
    self.progressBox.AppendText(line) 
    if 'mystring' in line: 
     #do stuff 

我想查找的字符串是My country它被包裹在H2標籤

+1

'r +',你爲什麼寫'r +'? –

+0

,因爲如果'mystring'沒有找到,我想寫入文件 –

+0

然後afaik它應該是'r + w'或類似的東西。 –

回答

0

這是絕對不應該在沒有特殊的HTML解析器來完成。

谷歌關於你想要的任何python HTML解析器。基本用法他們都很容易。例如lxml。在僞代碼中,你的任務是:

from some_cool_lib import SomeCoolHTMLParser 
parser = SomeCoolHTMLParser() 
doc = parser.parse(path_to_my_html_file) 
h2_elements = doc.findall('h2') 
for h2 in h2_elements: 
    if h2.text == 'My country': 
     # do stuff