1
我上的Web刮项目工作,我有计划的网络刮以下项目:美丽的汤的问题与webscraping
<td class="country">
<div>
<img alt="Niger" height="27" src="http://assets.rio2016.nbcolympics.com/country-flags/52x35/NIG.png" width="40"/>
Niger
</div>
在这种情况下,我试图让该国尼日尔出来的列表。我有一张桌子,我试图把所有的国家拉出来。我现在的代码如下所示:
response = requests.get('http://www.nbcolympics.com/medals')
soup = BeautifulSoup(response.content, 'lxml')
for td in soup.findAll("td",{"class": "country"}):
print(td)
这会给我提供很多信息。我只想专注于表格中的国家价值。 (此表有谁在奥运会比赛的所有国家。)如果我尝试做这样的事情:
for td in soup.findAll("td",{"class": "country"}).children:
我收到以下错误信息:
Traceback (most recent call last):
File "idea.py", line 15, in <module>
for row in soup.find_all('tr').children:
AttributeError: 'ResultSet' object has no attribute 'children'
我知道,必须有一个我可以通过这些td来查看每个国家的价值。 (我可以使用get_text()得到国家,但是有更多的信息与它一起出现。)另外,如果div值有一个类,那么我认为这样做也相当容易。感谢您的任何帮助。
我也曾尝试:
for td in soup.findAll("img", {"width": "40"})
print(td)
几乎让我我想要的。它会打印以下内容:
<img alt="Togo" height="27" src="http://assets.rio2016.nbcolympics.com/country-flags/52x35/TOG.png" width="40"/>
但是,我没有得到它的国家!但我只是在那里!
是的,我更新了以显示当您使用img标签时会发生什么 - 它几乎让我得到我想要的,但在国家之前停止。所以,它只是让我得到我想要的,但不完全!感谢您的帮助! –
我已经更新了我的答案,它应该解决您的问题。下次尝试谷歌“美丽的图像替代”,你会找到你的答案。 –
明白了,这似乎已经奏效!谢谢! –