###困っていること
インターネットから情報を取得して、それをツイートするようなソフトを作成中なのですが、タイマー処理を行っていて、HPに更新があった場合のみにツイートするようにしたいです。今のままだと、何回もツイートしようとしてエラーで返されてしまいます(403エラー 同じ文章ツイートx)
どのようにしたら、HPに更新があった場合に1度だけのタイマー処理をするのでしょうか。初心者なのであまりわからないです。コード貼ってくださるとありがたいです。よろしくお願いします。
##使用パッケージ
HtmlAgilityPack
CoreTweet
###該当のソースコード
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using HtmlAgilityPack;
namespace Eathquake_tweet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e) { const string url = "http://www.weather-service.co.jp/weather/earthquake/"; WebClient web = new WebClient(); web.Encoding = System.Text.Encoding.UTF8; string html = web.DownloadString(url); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(html); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(@"/html[1]/body[1]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/div[2]"); foreach (HtmlNode node in nodes) { var tokens = CoreTweet.Tokens.Create("xxxxxxxxxxx" , "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" , "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" , "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); //↑はAPIキー・AccessTokenなどがはいります。 var text = node.InnerText; tokens.Statuses.Update(new { status = text }); } } }
}
###補足情報(言語/XPath取得方法)
Visual Studio 2017 C#
Xpath取得には HtmlAgilityPackTesterを使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/20 02:29