查找包含输入值的HTML表行

时间:2016-12-10 02:41:14

标签: python html python-2.7 beautifulsoup html-table

想法是建立一个过滤器,它将返回包含过滤器输入值的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 个答案:

答案 0 :(得分:1)

有一种五种过滤器,美容运动:

  1. 一个字符串
  2. 正则表达式
  3. 列表
  4. 功能
  5. 确保您的过滤器就是其中之一。