【发布时间】:2018-08-25 14:43:07
【问题描述】:
我在 python 中编写了一个脚本,用于从网页的表格中抓取不同的名称及其值,并将其写入 csv 文件中。我下面的脚本可以完美地解析它们,但我不能以自定义的方式将它们写入 csv 文件。
我想做的是跨列写names 和values,如图2 所示。
这是我的尝试:
import csv
from bs4 import BeautifulSoup
import requests
res = requests.get("https://www.bloomberg.com/markets/stocks",headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(res.text, "lxml")
with open("outputfile.csv","w",newline="") as infile:
writer = csv.writer(infile)
for table in soup.select(".data-table-body tr"):
name = table.select_one("[data-type='full']").text
value = table.select_one("[data-type='value']").text
print(f'{name} {value}')
writer.writerow([name,value])
输出如下:
我希望得到的输出如下:
任何解决此问题的帮助将不胜感激。
【问题讨论】:
标签: python python-3.x csv web-scraping