【发布时间】:2020-03-08 21:56:35
【问题描述】:
我通过 sn-p 用 Bs4 解析得到以下列表:
details = [i.find_all('span', {'class':re.compile('item')}) for i in cars]
[[<span class="item">Red <small>col.</small></span>,
<span class="item">120 <small>cc.</small></span>,
<span class="item">Available <small>in four days</small></span>,
<span class="item"><small class="txt-highlight-red">15 min</small></span>],
[<span class="item">Blue <small>col.</small></span>,
<span class="item">200 <small>cc.</small></span>,
<span class="item">Available <small>in a week</small></span>,
<span class="item">04 mar <small></small></span>],
[<span class="item">Green <small>col.</small></span>,
<span class="item">Available <small>immediately</small></span>,
<span class="item"><small class="txt-highlight-red">2 hours</small></span>]]
关键是不是每个嵌套列表都具有完全相同的内容或相同的长度,所以我不想简化将文本放在一个单独的列表中。
我试过这段代码:
bobo = []
for detail in details:
for i in detail:
bobo.append(i.text)
但正如我所说,它会产生以下输出:
[Red col., 120 cc., Available in four days, 15 min., Blue col., 200 cc., Available in a week, 04 mar , Green col., Available immediately, 2 hours]
而预期的输出是:
[[Red col., 120 cc., Available in four days, 15 min.],
[Blue col., 200 cc., Available in a week, 04 mar ],
[Green col., Available immediately, 2 hours]]
有什么帮助吗?
【问题讨论】:
-
这样可以吗? [i.text for i in cars]。您还应该发布源 HTML。