Metro学习笔记+心得+体会(三)

 

五月快要结束了,还有14天就要会考,告诉自己:加油!

这是本月最后一篇教程,欢迎拍砖!

 

本篇博客要讲的是一个博客阅读器,我学习msdn的例子http://msdn.microsoft.com/zh-cn/LIbrary/br211380.aspx#Y25237,自已写了个关于我的博客的阅读器。

 

原理很简单,SyndicationClient类,以下是主要代码:

  1 public class FeedData
  2     {
  3         public string Title { set; get; }
  4         public string Description { get; set; }
  5         public DateTime PubDate { get; set; }
  6 
  7         private List<FeedItem> _Items = new List<FeedItem>();
  8         public List<FeedItem> Items
  9         {
 10             get
 11             {
 12                 return this._Items;
 13             }
 14         }
 15     }
 16     public class FeedItem
 17     {
 18         public string Title { get; set; }
 19         public string Author { get; set; }
 20         public string Content { get; set; }
 21         public DateTime PubDate { get; set; }
 22         public Uri Link { get; set; }
 23 
 24     }
 25 
 26     public class FeedDataSource
 27     {
 28         private ObservableCollection<FeedData> _Feeds=new ObservableCollection<FeedData>();
 29         public ObservableCollection<FeedData> Feeds
 30         {
 31             get
 32             {
 33                 return this._Feeds;
 34             }
 35         }
 36 
 37         public async Task GetFeedsAsync()
 38         {
 39             /*
 40             Task<FeedData> feed1 =
 41                 GetFeedAsync("http://windowsteamblog.com/windows/b/developers/atom.aspx");
 42             Task<FeedData> feed2 =
 43                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx");
 44             Task<FeedData> feed3 =
 45                 GetFeedAsync("http://windowsteamblog.com/windows/b/extremewindows/atom.aspx");
 46             Task<FeedData> feed4 =
 47                 GetFeedAsync("http://windowsteamblog.com/windows/b/business/atom.aspx");
 48             Task<FeedData> feed5 =
 49                 GetFeedAsync("http://windowsteamblog.com/windows/b/bloggingwindows/atom.aspx");
 50             Task<FeedData> feed6 =
 51                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowssecurity/atom.aspx");
 52             Task<FeedData> feed7 =
 53                 GetFeedAsync("http://windowsteamblog.com/windows/b/springboard/atom.aspx");
 54             Task<FeedData> feed8 =
 55                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowshomeserver/atom.aspx");
 56             // There is no Atom feed for this blog, so we use the RSS feed.
 57             Task<FeedData> feed9 =
 58                 GetFeedAsync("http://windowsteamblog.com/windows_live/b/windowslive/rss.aspx");
 59             Task<FeedData> feed10 =
 60                 GetFeedAsync("http://windowsteamblog.com/windows_live/b/developer/atom.aspx");
 61             Task<FeedData> feed11 =
 62                 GetFeedAsync("http://windowsteamblog.com/ie/b/ie/atom.aspx");
 63             Task<FeedData> feed12 =
 64                 GetFeedAsync("http://windowsteamblog.com/windows_phone/b/wpdev/atom.aspx");
 65             Task<FeedData> feed13 =
 66                 GetFeedAsync("http://windowsteamblog.com/windows_phone/b/wmdev/atom.aspx");
 67             
 68             this.Feeds.Add(await feed1);
 69             this.Feeds.Add(await feed2);
 70             this.Feeds.Add(await feed3);
 71             this.Feeds.Add(await feed4);
 72             this.Feeds.Add(await feed5);
 73             this.Feeds.Add(await feed6);
 74             this.Feeds.Add(await feed7);
 75             this.Feeds.Add(await feed8);
 76             this.Feeds.Add(await feed9);
 77             this.Feeds.Add(await feed10);
 78             this.Feeds.Add(await feed11);
 79             this.Feeds.Add(await feed12);
 80             this.Feeds.Add(await feed13);
 81             */
 82             Task<FeedData> feed12 =
 83     GetFeedAsync("http://feed.cnblogs.com/blog/u/116459/rss");
 84 
 85             Task<FeedData> feed13 =
 86     GetFeedAsync("http://feed.cnblogs.com/blog/sitehome/rss");
 87             this.Feeds.Add(await feed13);
 88             this.Feeds.Add(await feed12);
 89         }
 90 
 91         private async Task<FeedData> GetFeedAsync(string feedUriString)
 92         {
 93             SyndicationClient client = new SyndicationClient();
 94             Uri feedUri = new Uri(feedUriString);
 95 
 96             try
 97             {
 98                 SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);
 99                 FeedData feedData = new FeedData();
100                 feedData.Title = feed.Title.Text;
101                 if (feed.Subtitle.Text != null)
102                 {
103                     feedData.Description = feed.Subtitle.Text;
104                 }
105 
106                 feedData.PubDate = feed.Items[0].PublishedDate.DateTime;
107 
108                 foreach (SyndicationItem item in feed.Items)
109                 {
110                     FeedItem feedItem = new FeedItem();
111                     feedItem.Title = item.Title.Text;
112                     feedItem.PubDate = item.PublishedDate.DateTime;
113                     feedItem.Author = item.Authors[0].Name;
114 
115                     if (feed.SourceFormat == SyndicationFormat.Atom10)
116                     {
117                         feedItem.Content = item.Content.Text;
118                         feedItem.Link = item.Links[0].Uri;
119                     }
120                     feedData.Items.Add(feedItem);
121                 }
122                 return feedData;
123             }
124             catch (Exception)
125             {
126                 return null;
127             }
128         }
129 
130     }

完整的源码请鉴源码,由于时间关系,本博客不是很完整,本人也会在后续系列中修正。大家共同学习!

 

源码地址:

https://skydrive.live.com/redir?resid=F408A3D3DF420664!183&authkey=!ABl7sbIuIN_gzU8

 

转载于:https://www.cnblogs.com/Wade-/archive/2012/05/30/2527105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要进行数据预处理和特征工程。以下是一个简单的数据预处理和特征工程的示例: ```python import pandas as pd import numpy as np import tensorflow as tf from sklearn.preprocessing import MinMaxScaler # 读取数据 data = pd.read_csv('Metro_Interstate_Traffic_Volume.csv') # 将日期和时间合并为一个时间戳,并将其转换为日期时间格式 data['date_time'] = pd.to_datetime(data.date_time) # 将时间戳转换为时间戳的秒数 data['timestamp'] = data.date_time.astype(np.int64) // 10**9 # 将小时和星期几作为新特征 data['hour'] = data.date_time.dt.hour data['dayofweek'] = data.date_time.dt.dayofweek # 将特征缩放到0到1之间 scaler = MinMaxScaler() data[['temp', 'rain_1h', 'snow_1h', 'clouds_all']] = scaler.fit_transform(data[['temp', 'rain_1h', 'snow_1h', 'clouds_all']]) # 选择需要使用的特征 features = ['hour', 'dayofweek', 'temp', 'rain_1h', 'snow_1h', 'clouds_all', 'timestamp'] # 将数据拆分为训练集和测试集 train_data = data.iloc[:int(len(data)*0.8), :][features] test_data = data.iloc[int(len(data)*0.8):, :][features] # 将数据拆分为输入和输出 train_X, train_y = train_data.iloc[:, :-1], train_data.iloc[:, -1] test_X, test_y = test_data.iloc[:, :-1], test_data.iloc[:, -1] # 将输入数据转换为维数组 train_X = np.array(train_X).reshape((-1, 1, len(features))) test_X = np.array(test_X).reshape((-1, 1, len(features))) ``` 接下来,我们可以使用TensorFlow 2.0中的GRU模型来训练我们的数据。以下是一个简单的GRU模型的示例代码: ```python from tensorflow.keras.layers import Input, GRU, Dense from tensorflow.keras.models import Model # 定义输入 inputs = Input(shape=(1, len(features))) # 定义GRU层 x = GRU(units=32, activation='tanh')(inputs) # 定义输出层 outputs = Dense(units=1, activation='linear')(x) # 定义模型 model = Model(inputs=inputs, outputs=outputs) # 编译模型 model.compile(optimizer='adam', loss='mse') # 训练模型 model.fit(train_X, train_y, epochs=10, batch_size=32) # 预测测试数据 predictions = model.predict(test_X) # 计算均方误差 mse = np.mean((predictions - test_y)**2) print('均方误差:', mse) ``` 以上是一个简单的GRU模型的示例代码,你可以根据自己的需求和数据进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值