Tob*_*oth 3 python beautifulsoup web-scraping
在BeautifulSoup对象中使用此html代码段...
<span class="Example1" data-test-selector="RC1">
507
<b>
3
</b>
<b>
3
</b>
<b>
2
</b>
</span>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码将其拆分......
hList = []
for each in soup.find_all('span', {'class': 'Example1'}):
hList.append(each.text.split())
print(hList)
Run Code Online (Sandbox Code Playgroud)
我得到了结果......
['507', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)
当我真的想......
['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)
我试图使用各种列表推导,嵌套方法等来分离'507'.我只是想不出这个.
将列表中的字符串加入单个字符串,然后调用list()该字符串:
>>> hList = ['507', '3', '3', '2']
>>> list(''.join(hList))
['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)
您的代码实际构建了一个列表列表,因此您需要在应用之前展平列表str.join().这可以通过列表理解来创建hList:
>>> hList = [s for each in soup.find_all('span', {'class': 'Example1'})
for s in each.text.split()]
>>> list(''.join(hList))
['5', '0', '7', '3', '3', '2']
Run Code Online (Sandbox Code Playgroud)