【发布时间】:2020-07-15 18:00:02
【问题描述】:
几天来,我一直在尝试将一个简单的 html 结构刮到一个列表中以制作一个数据框。如果是 html 表格,我没有问题。我正在使用这样的结构:
<div class="someTypeofRow">
<a href="/mainpage/choc.html">
Chocolate flavor
</a>
<span class="yearText">
(2009)
</span>
<br/>
<a href="/mainpage/van.html">
Vanilla flavor
</a>
<span class="yearText">
(2004)
</span>
<br/>
我希望从中列出一个可以放入数据框的列表
list = [ ('/mainpage/choc.html', 'Chocolate flavor', '2009') ,
('/mainpage/van.html', 'Vanilla flavor', '2004' )]
到目前为止,我能够获得 href:
firstlist = []
jims = soup.find(class_='someOtherRow')
for jim in jims.find_all('a', href=True):
if jim.text:
firstlist.append(jim['href'])
print(firstlist)
我可以单独获取文本内容:
car_elems = soup.find(class_='someOtherRow')
d1 = car_elems.find_all_next(string=True)
for car_elem in car_elems:
print (d1)
但我似乎无法将它们放在一起或正确迭代。感谢您的任何建议。
【问题讨论】: