Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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//Regex//标记_Python_Html_Regex_Bs4 - Fatal编程技术网

Python//Regex//标记

Python//Regex//标记,python,html,regex,bs4,Python,Html,Regex,Bs4,我试图从中间提取一些文本 </br></td>, <td class="first">TEXT_1a<br>TEXT_1b </br></td>, <td class="first">TEXT_2a<br>TEXT_2b </br></td>, <

我试图从中间提取一些文本
</br></td>, <td class="first">TEXT_1a<br>TEXT_1b
                                </br></td>, <td class="first">TEXT_2a<br>TEXT_2b
                                </br></td>, <td class="first">TEXT_3a<br>TEXT_3b
                                </br></td>, <td class="first">TEXT_4a<br>TEXT_4b
                                </br></td>, <td class="first">TEXT_5a<br>TEXT_5b
                                </br></td>, <td class="first">TEXT_6a<br>TEXT_6b

,文本1a
文本1b
,文本2a
文本2b
,文本3a
文本3b
,文本4a
文本4b
,文本5a
文本5b
,TEXT_6a
TEXT_6b
我使用了BeautifulSoup(BS4)
text=first\u td.renderContents()
trimmed_text=text.strip()
打印修剪过的文本

提取文本。但是,我只获取
之后的第一个文本,以提取
td
标记中的所有文本

>>> s = '''<td class="first">TEXT_1a<br>TEXT_1b
                                </br></td>, <td class="first">TEXT_2a<br>TEXT_2b
                                </br></td>, <td class="first">TEXT_3a<br>TEXT_3b
                                </br></td>, <td class="first">TEXT_4a<br>TEXT_4b
                                </br></td>, <td class="first">TEXT_5a<br>TEXT_5b
                                </br></td>, <td class="first">TEXT_6a<br>TEXT_6b'''
>>> soup = BeautifulSoup(s)
>>> [i.text.strip() for i in soup.select('td.first')]
['TEXT_1aTEXT_1b', 'TEXT_2aTEXT_2b', 'TEXT_3aTEXT_3b', 'TEXT_4aTEXT_4b', 'TEXT_5aTEXT_5b', 'TEXT_6aTEXT_6b']
>>s=''文本1a
文本1b
,文本2a
文本2b
,文本3a
文本3b
,文本4a
文本4b
,文本5a
文本5b
,TEXT_6a
TEXT_6b'' >>>汤=美汤(s) >>>[i.text.strip()表示汤中的i.select('td.first')] ['TEXT_1a TEXT_1b'、'TEXT_2a TEXT_2b'、'TEXT_3a TEXT_3b'、'TEXT_4aTEXT_4b'、'TEXT_5aTEXT_5b'、'TEXT_6a TEXT_6b']
嘿,阿维纳什。这很有效,谢谢你。是否可以将文本_1b等放在另一个数组中?请尝试
[re.findall(r'(?)[^>好的。这似乎会在文本之间留出很大的间隙。是否可以只删除末尾的文本(文本_2b、文本_3b…等)?谢谢!