質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

5791閲覧

C#でwebページのリンクを取得したい

kicchiy_

総合スコア9

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2017/04/02 17:42

<div id="not-logged-in"> <a class="register alternate-context" href="https://twitter.com/signup?context=oauth&amp;oauth_token=XXXXXXXXXXXX">アカウント作成</a> </div>

この中からhrefを取得したいのですがどのような方法がありますか・・・?

C#超初心者でここで何時間も苦戦していて、次に進めないので質問させていただきましたm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/04/03 02:07

「webページのリンクを取得したい」というのは単純に質問に書いてある文字列から href 属性の設定値を取得したいのか、HttpWebRequest などを利用してページを We サーバーに要求して帰ってきた応答のコンテンツから当該 a 要素の href 属性の設定値を取得したいのか、どっちですか?
退会済みユーザー

退会済みユーザー

2017/04/03 09:38

それをあなたお質問の最初に書いていただければと思います。ただ、あなたかベストアンサーにした回答には「HttpWebRequest などを利用してページを We サーバーに要求して帰ってきた応答のコンテンツ」を取得する等のことは書かれていないようですが、それでよいということはやはり前者の話では?
guest

回答2

0

ベストアンサー

今回の場合はXmlDocumentを使って、XMLとして解析するというのも一つの手かと思います。

C#

1var xml = ""; 2xml += "<div id=\"not-logged-in\">"; 3xml += "<a class=\"register alternate-context\" href=\"https://twitter.com/signup?context=oauth&amp;oauth_token=XXXXXXXXXXXX\">アカウント作成</a>"; 4xml += "</div>"; 5 6// XML読み込み 7var xmlDocument = new System.Xml.XmlDocument(); 8xmlDocument.LoadXml(xml); 9 10// hrefを取り出し 11var href = xmlDocument.SelectSingleNode("//div/a").Attributes["href"].Value;

投稿2017/04/03 01:57

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kicchiy_

2017/04/03 07:29

有難うございますm(_ _)m XXXXXXXXXXXの部分がwebページを開くたびに変わる場合はどうすれば良いでしょうか汗
ku__ra__ge

2017/04/03 07:43

どうもしなくて良いです。XXXXXXXXXXXの部分がwebページを開くたびに変わったとしても、別にhref属性の設定値を取得する方法は変わりません。あなたは何に困っているのでしょうか?
kicchiy_

2017/04/03 07:54

すみません、解決しました。 ありがとうございましたm(_ _)m
退会済みユーザー

退会済みユーザー

2017/04/03 08:14

勉強になります。
guest

0

C#

1namespace matchtest1 2{ 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 string str = "<div id=\"not - logged -in\"> < a class=\"register alternate-context\" href=\"https://twitter.com/signup?context=oauth&amp;oauth_token=XXXXXXXXXXXX\">アカウント作成</a> </div>\""; 8 9 System.Text.RegularExpressions.Regex r = 10 new System.Text.RegularExpressions.Regex( 11 "href=\"(?<url>.+?)\""); 12 13 System.Text.RegularExpressions.Match mc = r.Match(str); 14 15 Console.WriteLine(mc.Groups["url"].Value.ToString()); 16 Console.ReadKey(); 17 } 18 } 19}

正規表現とかどうでしょうか。

参考
正規表現を使って文字列を検索し、抽出する
正規表現を使って部分文字列を取得するには?[C#、VB]

投稿2017/04/02 18:44

編集2017/04/02 18:52
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kicchiy_

2017/04/03 07:30

遅くなってすみません。 有難うございますm(_ _)m XXXXXXXXXXXの部分がwebページを開くたびに変わる場合はどうすれば良いでしょうか汗
退会済みユーザー

退会済みユーザー

2017/04/03 08:18

正規表現はパターンに一致したものを抜き出すので、パターンが変わらない限りは大丈夫ですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問