2016-12-10 26 views
0

想法是構建一個過濾器,該過濾器將返回包含過濾器輸入值的HTML行。查找包含輸入值的HTML表格行

我想出了這個,但迄今爲止它沒有返回值:

#!/usr/bin/python 

from bs4 import BeautifulSoup 
import cgi 
import re 
import urllib 

data = cgi.FieldStorage() 
filter = data.getvalue('request') 

tree = urllib.urlopen('myfile.html').read() 

soup = BeautifulSoup(tree) 
tables = soup.findChildren('table') 

mytable = tables[0] 

rows = mytable.findAll('tr') 
userrows = [t for t in rows if t.findAll(text=filter)] 

text_file = open("tst.txt", "aw") 
text_file.write(userrows) 
text_file.close() 

試圖用userrows = mytable.find('tr', text=filter)但相同的結果。 Cmd說「期望一個字符緩衝區對象」

這裏可能有什麼問題?

PC。我試着轉換text=str(filter)但相同的結果

回答

1

有五一種過濾器是beautifulsoup體育:

  1. 的字符串
  2. 正則表達式
  3. 名單
  4. 函數

確保你r過濾器就是其中之一。