Python - 美丽的汤 - 检索表数据

时间:2017-02-12 21:18:20

标签: python-2.7 csv web-scraping beautifulsoup

这是我在StackOverflow中的第一个问题,我非常感谢您的帮助!我试图从这个页面使用来自NUFORC的python 2.7和R转换表数据并转换为csv文件:http://www.nuforc.org/webreports/ndxl.html。我已经看过几十个教程,并试图跟进,但没有一个适用于这个实例。我查看了beautifulsoup文档,但我没有找到某条路径。即使读取剪贴板命令似乎不起作用(?)

最有希望的方法如下。这是我可以去的,因为我无法在此页面上复制讲师的笔记。

import urllib2
from urllib2 import urlopen
from bs4 import BeautifulSoup
url= "http://www.nuforc.org/webreports/ndxl.html"

def make_soup(url):
    thepage = urllib2.urlopen(url)
    soupdata = BeautifulSoup(thepage, "html.parser")
    return soupdata

soup = make_soup ("http://www.nuforc.org/webreports/ndxl.html")

for record in soup.findAll('tr'):
    for data in record.findAll('td'):
        print (data.text)

虽然至少我现在可以打印数据,但我不知道如何将数据提取到更有用的.csv文件中。

提前感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

使用csv.writer,您可以将数据直接写入嵌套for循环中的csv文件。对于行中的每个行值,您将它存储在一个数组中,然后使用write_row将该数组写入该行。确保将数组初始化为每行为空,否则您可能会反复添加到上一个数组。