【发布时间】:2019-03-12 11:01:17
【问题描述】:
我正在尝试从网站写入数据。当新的数据块列在排名中时,数据以 HTML 表格的形式列出,标签为 '' 列表,关于排名中元素的每个描述性项目为 ''。该列表是前 500 台计算机的排名,列出 1-100,每个 1、2、3、4 等项目用“”列出,计算机的每个特性都用“”列出(它的存储、最大功率等) )。
这是我的代码:
# read the data from a URL
url = requests.get("https://www.top500.org/list/2018/06/")
url.status_code
url.content
# parse the URL using Beauriful Soup
soup = BeautifulSoup(url.content, 'html.parser')
filename = "computerRank10.csv"
f = open(filename,"w")
headers = "Rank, Site, System, Cores, RMax, RPeak, Power\n"
f.write(headers)
for record in soup.findAll('tr'):
# start building the record with an empty string
tbltxt = ""
tbltxt = tbltxt + data.text + ";"
tbltxt = tbltxt.replace('\n', ' ')
tbltxt = tbltxt.replace(',', '')
# f.write(tbltxt[0:-1] + '\n')
f.write(tbltxt + '\n')
f.close()
我什么也没得到,我的 CSV 文件总是空白
【问题讨论】:
-
我认为您应该与我们分享您的完整代码,例如我们无法猜出
record变量是什么。 -
我编辑了代码以删除未定义的记录变量。当我现在运行该程序时,我在 CSV 文件中正确写入了标题,但现在每一行都显示为“3615”,并且它只是在第一列中 100 行。
标签: python csv web-scraping beautifulsoup export-to-csv