下面是代码,它生成我想要的结果,但不是以输出结果的方式。
import requests
from bs4 import BeautifulSoup
url = 'https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Florida'
fl = requests.get(url)
fl_soup = BeautifulSoup(fl.text, 'html.parser')
block = fl_soup.findAll('td', {'class': 'bb-04em'})
for name in fl_soup.findAll('td', {'class': 'bb-04em'}):
print(name.text)输出
2020年-04-21
27 869(+3.0%)
867
我希望产出像这个2020-04-21 27,869(+3.0%) 867。
发布于 2020-04-22 14:14:00
以下是你想做的事:
import requests
from bs4 import BeautifulSoup
url = 'https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Florida'
fl = requests.get(url)
fl_soup = BeautifulSoup(fl.text, 'html.parser')
div_with_table = fl_soup.find('div', {'class': 'barbox tright'})
table = div_with_table.find('table')
for row in table.findAll('tr'):
for cell in row.findAll('td', {'class': 'bb-04em'}):
print(cell.text, end=' ')
print() # new line for each row发布于 2020-04-22 15:25:22
在访问每个<td>之前,尝试通过每个<tr>获取数据,您将得到每个表行的信息。然后你可以在<td>或者你想要的任何地方搜索。
发布于 2020-04-22 21:34:17
对于最后一个print语句,包括end参数。默认情况下,print语句有end='\n‘
print(name.text, end=' ')
这将为您提供所需的输出。
https://stackoverflow.com/questions/61367221
复制相似问题