Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取包含字符串的行_Python_String_Beautifulsoup - Fatal编程技术网

Python 获取包含字符串的行

Python 获取包含字符串的行,python,string,beautifulsoup,Python,String,Beautifulsoup,我试图从包含特定字符序列的文本文件中获取一行: 我的意见: <tr><td>lucas.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td>

我试图从包含特定字符序列的文本文件中获取一行:

我的意见:

    <tr><td>lucas.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> </tr>
<tr><td>jeanpierre.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span title="Cannot connect to 193.191.187.25:22345." style="color:red;font-weight:bold">X</span></td> <td><span title="No response from DNS at 193.191.187.25." style="color:red;font-weight:bold">X</span></td> </tr>
<tr><td>sofie.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span title="Cannot connect to 193.191.187.26:22345." style="color:red;font-weight:bold">X</span></td> <td><span title="No response from DNS at 193.191.187.26." style="color:red;font-weight:bold">X</span></td> </tr>
<tr><td>thomas.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> </tr>
但是,它一直返回0而不是0

<tr><td>lucas.vlan77.be</td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> <td><span style="color:green;font-weight:bold">V</span></td> </tr>
lucas.vlan77.be V

如果
input
只是一个字符串,那么
对于input中的行
不迭代行,而是迭代字符。因此,
'lucas'
永远不会在一个字符串中找到,并且不会分配
tableInput
。仅当对象是文件时,才会发生基于行的迭代行为

如果要循环遍历字符串的每一行,必须执行以下操作:

for line in input.split('\n'):
    ...
既然您有可用的BeautifulSoup,我认为最好使用它从每行的第一个单元格中读取值,而不是依赖粗糙和脆弱的字符串搜索

预计到达时间:

如何获取包含字符串“lucas”的行的表项?有什么提示吗

使用
td.parent
获取包含行,使用
td.parent.parent
获取包含表/tbody,依此类推

如果您想在下一列中获得
V
X
,可以这样说:

tr= soup.find(text= re.compile('lucas')).parent.parent
vorx= tr.findAll('td')[1].find('span').string

如果
input
只是一个字符串,那么
for line in input
不会迭代行,而是迭代字符。因此,
'lucas'
永远不会在一个字符串中找到,并且不会分配
tableInput
。仅当对象是文件时,才会发生基于行的迭代行为

如果要循环遍历字符串的每一行,必须执行以下操作:

for line in input.split('\n'):
    ...
既然您有可用的BeautifulSoup,我认为最好使用它从每行的第一个单元格中读取值,而不是依赖粗糙和脆弱的字符串搜索

预计到达时间:

如何获取包含字符串“lucas”的行的表项?有什么提示吗

使用
td.parent
获取包含行,使用
td.parent.parent
获取包含表/tbody,依此类推

如果您想在下一列中获得
V
X
,可以这样说:

tr= soup.find(text= re.compile('lucas')).parent.parent
vorx= tr.findAll('td')[1].find('span').string

谢谢,我现在在beautifulsoup中只缩小了td标记的范围,但是我不知道如何获取包含字符串“lucas”的行的表项。有什么提示吗^^谢谢,我现在在beautifulsoup中只缩小了td标记的范围,但是我不知道如何获取包含字符串“lucas”的行的表项。有什么提示吗^^