如何在Python中从BeautifulSoup数据创建元组列表?
我希望创建一个元组列表: 所需输出如何在Python中从BeautifulSoup数据创建元组列表?,python,web-scraping,beautifulsoup,data-science,Python,Web Scraping,Beautifulsoup,Data Science,我希望创建一个元组列表: 所需输出 d = [('Red','Apple'),('Green','Apple'),('Yellow','Banana'),('Blue','Berry')] HTML包含 <h2> <span class="head" id="Fruit">Apple</span> </h2> <ol> <li> <a href
d = [('Red','Apple'),('Green','Apple'),('Yellow','Banana'),('Blue','Berry')]
HTML包含
<h2>
<span class="head" id="Fruit">Apple</span>
</h2>
<ol>
<li>
<a href = "/red" title="Red">Red</a>
<a href = "/rot" title="Rot">Rot</a>
</li>
<li>
<a href = "/green" title="Green">Green</a>
</li>
</ol>
<h2>
<span class="head" id="Banana">Banana</span>
</h2>
<ol>
<li>
<a href = "/yellow" title="Yellow">Yellow</a>
</li>
</ol>
<h2>
<span class="head" id="Berry">Berry</span>
</h2>
<ol>
<li>
<a href = "/blue" title="Blue">Blue</a>
</li>
</ol>
<h2>
<span class="head" id="Not">NotRequired</span>
</h2>
使用soup.findNext(class=“head”)
并在每个调用中构建元组
你这样做的方式,你无法区分,因为你不知道你有多少每种类型的水果在颜色列表方面,你可以使用
zip
function()
那么你的情况呢
desired_output = list(zip(box2, box1))
这还不够,
NotRequired
在这个列表中。为什么('Red','Apple')
不是('Red','Rot','Apple')
?因为我只想从所有['Apple','Banana','Berry','NotRequired']
['Red','Green','Yellow','Blue']
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
desired_output = list(zip(box2, box1))