使用Beautiful Soup,我试图从HTML表中清除数据,这些表看起来如下:
<table class="ipl-zebra-list ipl-zebra-list--fixed-first release-dates-table-test-only">
<tr class="ipl-zebra-list__item release-date-item">
<td class="release-date-item__country-name"><a href="/calendar/?region=de">Germany
</a></td>
<td align="right" class="release-date-item__date">15 September 2017</td> <td align="left" class="release-date-item__attributes">(Oldenburg Film Festival)
</td>
</tr>
<tr class="ipl-zebra-list__item release-date-item">
<td class="release-date-item__country-name"><a href="/calendar/?region=gb">UK
</a></td>
<td align="right" class="release-date-item__date">23 March 2018</td> <td class="release-date-item__attributes--empty"></td>
</tr>
</table>
我正在查找出现在 在上面的例子中,这是2018年3月23号,但是对于出现href的每个实例,日期都是不同的。 但是,href总是相同的。 总之,我正在寻找出现在上面列出的href的相邻单元格中的数据。 谢啦!
因此,如果您希望将国家名称和日期链接到该国家名称,您可以创建一个字典,如下所示: 输出:元素的同级元素中的日期,该元素包括以下href: <a href="/calendar/?region=gb">UK
共1个答案
html = '''<table class="ipl-zebra-list ipl-zebra-list--fixed-first release-dates-table-test-only">
<tr class="ipl-zebra-list__item release-date-item">
<td class="release-date-item__country-name"><a href="/calendar/?region=de">Germany
</a></td>
<td align="right" class="release-date-item__date">15 September 2017</td> <td align="left" class="release-date-item__attributes">(Oldenburg Film Festival)
</td>
</tr>
<tr class="ipl-zebra-list__item release-date-item">
<td class="release-date-item__country-name"><a href="/calendar/?region=gb">UK
</a></td>
<td align="right" class="release-date-item__date">23 March 2018</td> <td class="release-date-item__attributes--empty"></td>
</tr>
</table>'''
html_code = BeautifulSoup(html, 'html.parser')
countries = html_code.find_all('td', class_='release-date-item__country-name')
dates = html_code.find_all('td', class_='release-date-item__date')
dates_as_dic = {}
for i in range(len(dates)):
dates_as_dic[countries[i].text.strip()] = dates[i].text
print(dates_as_dic)
{'Germany': '15 September 2017', 'UK': '23 March 2018'}
相关问题