【发布时间】:2011-02-06 17:23:39
【问题描述】:
全部,
我刚刚开始使用 Python (v 2.7.1),我的第一个程序之一是尝试使用标准库和 BeautifulSoup 从包含发电站数据的网站中抓取信息来处理 HTML 元素。
我想访问的数据可以在 HTML 的“头部”部分或主体内的表格中获得。如果点击 CSV 链接,网站将根据其数据生成一个 CSV 文件。
使用该网站上的几个资源,我设法拼凑了下面的代码,这些代码将提取数据并将其保存到文件中,但是它包含 \n 指示符。尽我所能,我无法获得正确的 CSV 文件来保存。
我相信这很简单,但如果可能的话需要一些帮助!
from BeautifulSoup import BeautifulSoup
import urllib2,string,csv,sys,os
from string import replace
bm_url = 'http://www.bmreports.com/servlet/com.logica.neta.bwp_PanBMDataServlet?param1=T_COTPS-4¶m2=¶m3=¶m4=¶m5=2011-02-05¶m6=*'
data = urllib2.urlopen(bm_url).read()
soup = BeautifulSoup(data)
data = str(soup.findAll('head',limit=1))
data = replace(data,'[<head>','')
data = replace(data,'<script language="JavaScript" src="/bwx_generic.js"></script>','')
data = replace(data,'<link rel="stylesheet" type="text/css" href="/bwx_style.css" />','')
data = replace(data,'<title>Historic Physical Balancing Mechanism Data</title>','')
data = replace(data,'<script language="JavaScript">','')
data = replace(data,' </script>','')
data = replace(data,'</head>]','')
data = replace(data,'var gs_csv=','')
data = replace(data,'"','')
data = replace(data,"'",'')
data = data.strip()
file_location = 'c:/temp/'
file_name = file_location + 'DataExtract.txt'
file = open(file_name,"wb")
file.write(data)
file.close()
【问题讨论】:
-
HTML 文件的副本或网站链接会有所帮助。否则它在黑暗中猜测:(
标签: python html web csv scrape