您的位置:首页 > Web前端 > HTML

将网页的解析数据存储为html文件

2017-02-05 23:11 597 查看
为了把从网页中解析的数据存储起来,便于存档和查询,可以把数据存放在数据库中,也可以以文件的方式存储,还可以存储为网络应用程序,即html文件或者CSV格式文件。本文引用一个例子,看看如何将网页的解析数据存储为html文件。
from bs4 import BeautifulSoup
import requests

#前置标签
pre_html = '''
<!DOCTYPE HTML>
<html>
<head>
<!--meta charset = 'utf-8'-->
<title>油价历史数据</title>
</head>
<body>
<h2>自去年11月份以来的油价数据(取自本例网站)</h2>
<table width=600 border=1>
<tr><td>日期</td><td>92#无铅</td><td>95#无铅</td><td>98#无铅</td></tr>
'''
#后置标签
post_html = """
</table>
</body>
</html>
"""

url = 'http://new.cpc.com.tw/division/mb/oil-more4.aspx'
src = requests.get(url)
#src.encoding = "bgk"
html = src.text
bs = BeautifulSoup(html, 'html.parser')
data = bs.find_all('span' ,{'id':'Showtd'} )
rows = data[0].find_all('tr')

prices = list()
i = 0
for row in rows:
if i > 18:break;
cols = row.find_all("td")
if len(cols[1].text ) > 0:
item = [cols[0].text, cols[1].text, cols[2].text, cols[3].text]
prices.append(item)
i += 1

#生成数据表
html_body = ''
for p in prices:
html_body += "<tr><td>{}</td><td>{}</td><td>{}</td><td>{}</td></tr>".format(p[0],p[1],p[2],p[3])
html_file = pre_html + html_body + post_html

#按文本文件的方式生成html文件
fp = open('oilprice.html','w')
fp.write(html_file)
fp.close()


用浏览器打开执行的结果:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python html