博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
练习将网页抓取的内容通过正则筛选传进数据库
阅读量:2152 次
发布时间:2019-04-30

本文共 1939 字,大约阅读时间需要 6 分钟。

import pymysqlimport reimport timeclass CatchStockIndexData(object):    def __init__(self,fund_data,index_name,index_code):        self.id=0        self.index_name=index_name        self.index_code=index_code        self.fund_data=fund_data            def re_handle_funddata(self):        re_template=r">([^\:\s""]+)<"        ret=re.findall(re_template,self.fund_data)        return ret            def combine_fund_datalist(self,catched_data):        name_code_list=[self.id,self.index_code,self.index_name]        catch_time=[str(time.ctime())]        fund_data_list=name_code_list+catched_data+catch_time        return fund_data_list            def thread_data_to_mysql(self,combined_data_list):        conn=pymysql.connect(host='localhost',port=3306,user='root',password='mysql',database='stock_info',charset='utf8')        cc=conn.cursor()            sql="""insert into stock_information value(%s,%s,%s,%s,%s,%s,%s,%s,%s)"""        cc.execute(sql,combined_data_list)        conn.commit()        print("数据插入成功")        cc.close()        conn.close()            def run(self):        # 1. 处理网页动态数据        catched_data=self.re_handle_funddata()        # 2. 整合指数数据列表        combined_data_list=self.combine_fund_datalist(catched_data)        # 3. 将整合后列表中的数据传给数据库        self.thread_data_to_mysql(combined_data_list) if __name__=="__main__":       fund_data="""                今开:3134.75                最高:3138.46                涨跌幅:-0.43%                换手:0.47%                成交量:1.65亿手            """    eastmoney_shangzhen50=CatchStockIndexData(fund_data,index_name="上证50",index_code="000016")    eastmoney_shangzhency=CatchStockIndexData(fund_data,index_name="创业板指数",index_code="399006")    eastmoney_shangzhen300=CatchStockIndexData(fund_data,index_name="沪深300",index_code="000300")    eastmoney_shangzhenA=CatchStockIndexData(fund_data,index_name="A股指数",index_code="000002")        eastmoney_shangzhenA.run()

备注:网页内容是手动复制的,好low(≧▽≦)/

转载地址:http://izswb.baihongyu.com/

你可能感兴趣的文章
算法导论阅读顺序
查看>>
Windows程序设计:直线绘制
查看>>
linux之CentOS下文件解压方式
查看>>
Django字段的创建并连接MYSQL
查看>>
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>