Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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
从a<;李>;使用美化组Python作为文本_Python_Html_Beautifulsoup - Fatal编程技术网

从a<;李>;使用美化组Python作为文本

从a<;李>;使用美化组Python作为文本,python,html,beautifulsoup,Python,Html,Beautifulsoup,这是我想从中获取数据的HTML文件的一部分 <ul class="listing-key-specs "> <li>2002 (02 reg)</li> <li>Hatchback</li> <li>115,000 miles</li> <li>Manual</li> <li>1.8L</li> <li>123 bhp

这是我想从中获取数据的HTML文件的一部分

<ul class="listing-key-specs ">
   <li>2002 (02 reg)</li>
   <li>Hatchback</li>
   <li>115,000 miles</li>
   <li>Manual</li>
   <li>1.8L</li>
   <li>123 bhp</li>
   <li>Petrol</li>
</ul>
从这行代码中我得到了这个输出

 2002 (02 reg)
 Hatchback
 115,000 miles
 Manual
 1.8L
 123 bhp
 Petrol
 split_details = split_details.split('\n')
 ['', '2002 (02 reg)', 'Hatchback', '115,000 miles', 'Manual', '1.8L', '123 bhp', 'Petrol', '']
但是,我想做的是从输出中获取每一行并放入一个列表,这样第一行就是第一个索引,依此类推。但是当我用换行符分割输出时,我得到了这个输出

 2002 (02 reg)
 Hatchback
 115,000 miles
 Manual
 1.8L
 123 bhp
 Petrol
 split_details = split_details.split('\n')
 ['', '2002 (02 reg)', 'Hatchback', '115,000 miles', 'Manual', '1.8L', '123 bhp', 'Petrol', '']
这不是我想要的。是否有我遗漏的东西,或者是否有其他方法将此字符串拆分为行

如果您好奇。

在这种情况下,最好使用发电机。它包含标记及其子代中的所有字符串,去掉了空格字符。例如,

html = '''<ul class="listing-key-specs ">
   <li>2002 (02 reg)</li>
   <li>Hatchback</li>
   <li>115,000 miles</li>
   <li>Manual</li>
   <li>1.8L</li>
   <li>123 bhp</li>
   <li>Petrol</li>
  </ul>'''

soup = BeautifulSoup(html, 'html.parser')
vehicle_details = soup.find('ul', class_='listing-key-specs')
split_details = list(vehicle_details.stripped_strings)
print(split_details)
2002年(02注册),掀背式,115000英里,手动,1.8升,123马力,汽油机


如果需要列表,可以使用

如果希望在单个字符串中显示详细信息,可以添加以下内容

vehicle_details_string = ', '.join(vehicle_details)
print(vehicle_details_string)
输出:

2002 (02 reg), Hatchback, 115,000 miles, Manual, 1.8L, 123 bhp, Petrol

只需从列表中删除第一个和最后一个元素?因此,这些方括号和逗号不是字符串的一部分。我看到这些额外的字符不是字符串的一部分,它们只是显示在终端中。你真的应该做一些基本的python粗化,这被称为列表。如果打印,它会用逗号分隔所有值。
vehicle_details_string = ', '.join(vehicle_details)
print(vehicle_details_string)
2002 (02 reg), Hatchback, 115,000 miles, Manual, 1.8L, 123 bhp, Petrol