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

    xiaoxiao2021-03-26  35

    为了把从网页中解析的数据存储起来,便于存档和查询,可以把数据存放在数据库中,也可以以文件的方式存储,还可以存储为网络应用程序,即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()

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

    转载请注明原文地址: https://ju.6miu.com/read-662330.html

    最新回复(0)