它是打印出来的,但不是用cs写的

2024-09-28 21:54:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试保存此网站上的表>https://www.valuewalk.com/2019/01/top-10-most-obese-countries-oecd-who/

它会打印出来,但不会保存在CSV中。有人能帮忙给点建议吗

from bs4 import BeautifulSoup
import csv


#Request webpage content
result = requests.get('https://www.valuewalk.com/2019/01/top-10-most-obese-countries-oecd-who/')

#Save content in var
src = result.content

#soupactivate
soup = BeautifulSoup(src,'lxml')


#look for table
tbl = soup.findAll('ol')
tbl2 = tbl[1]

#Get text out of table
tbltxt = tbl2.get_text()

#Open CSV
file = open('obesecountries.csv','w')
writer = csv.writer(file)

#Put data into csv
for row in tbltxt:
    writer.writerow(row)

我找到了我想退出的HTML表。我删除了HTML标签。 它打印出来,但不保存/写入CSV


Tags: csvimportcommosttopwwwcontentcountries
2条回答
#Open CSV
file = open('obesecountries.csv','w')
writer = csv.writer(file)

#look for table
tbl = soup.findAll('ol')

#Put data into csv
for row in tbl:
    # get the text from the second item in the row
    txt = [row[1].get_text()] 

    #Get text out of table
    writer.writerow(txt)

tbltxt是字符串,不是列表。您应该在<li>元素上循环

writerow()的参数应该是一个列表,而不是一个字符串

for li in tbl2.findAll('li'):
    rowtext = li.get_text()
    write.writerow([rowtext])

相关问题 更多 >