2009-03-01 16 views
3

jQueryでも可能だと思いますが、ASP.NETサーバサイドのコードも自分の状況に適しています。外部ページのタイトルを読むには?

jQueryを使用すると、たとえばdivにページを読み込み、<title>タグのdivをフィルタリングできますが、重いページの場合は、最初にすべてのコンテンツを読み込んでタイトルタグを読み取るのは良くありません。 か、それとも非常に簡単な解決策がありますか?とにかく私はインターネットからそれについて何かを見つけることができませんでした。 ありがとう

+0

現在のページまたは外部の外部にはありますか? – AnthonyWJones

+0

サイト外、別のドメインから – mohamadreza

答えて

2

大丈夫おかげで、私は正規表現についての詳細を読んで、最終的に以下のコードは、私のために働いています。

Dim qq As New System.Net.WebClient 
    Dim theuri As New Uri(TextBox1.Text) 
    Dim res As String = qq.DownloadString(theuri) 
    Dim re As Regex = New Regex("<title\b[^>]*>(.*?)</title>", RegexOptions.Singleline) 
    Dim ma As Match = re.Match(res) 


    If Not ma Is Nothing And ma.Success Then 
     Response.Write(ma.Groups(1).Value.ToString()) 
    Else 
     Response.Write("error") 
    End If 

が、とにかく、問題は残っている、このコードは、ページ全体をダウンロードし、それを介して求めて、完了するまでに2つ以上または3 seccondsを取った一つの重ウェブサイトが、それは限り唯一の方法であるようです私が知っている通り:| このコードを改良するための提案はありますか?

0

あなたは他のWebページをあなたのものに読み込むだけで、タイトルの読み込みにはセキュリティ上の危険があります...サーバ側のスクリプト(asp.net、php、...)あなたのウェブページにタイトルを出力する。どのような種類のキャッシュでも、すべてのリクエストでタイトルをフェッチすることができるのでシームレスです。

+0

いや、それは私が思っていたことだが、リンクでユーザーから与えられたウェブサイトのタイトルを読むための解決策を見つけることができた。 – mohamadreza

0

外部ページのタイトルを取得する簡単な方法はありません。サーバー側でWebClientを使用して応答を解析することができます。

しかし、それは実際に必要であるか、余分なトラフィックとレイテンシが生成されるかという要件を検討する価値があります。また、あなたが望むすべてのものがタイトルであることを知らない外部サイトに負荷を発生させる可能性があり、ページの作成にかなりの費用がかかる可能性があることも考慮してください。

+0

よろしく、 私ユーザーは自分のウェブサイトまたはfavリンクをアプリケーションに送信した後、ユーザーに自分のウェブサイトの「タイトル」フィールドを書き込ませるのではなく、タイトルを読み込んでデータベースへのリンクを保存することができます.. – mohamadreza

0
string title=Regex.Match(new System.Net.WebClient().DownloadString(url),(@"<title>(.*?)</title>"))[0].Groups[1].ToString(); 

try.iわからない。

+0

[0] – mohamadreza

1

タイトルは通常、最初の数百バイト以内に表示されるため、最初の1KiB程度の範囲要求を試してみてください(一部の終了タグが欠落しているため、エラー訂正パーサーで解析してください)ページ全体の読み込みに失敗します。

0

すべてのサーバーがこれをサポートしているかどうかはわかりません。
は、このことができます場合は、参照してください

 

char[] data = new char[299]; 
System.Net.HttpWebRequest wr =(HttpWebRequest)WebRequest.Create("http://www.yahoo.com"); 
wr.AddRange("bytes", 0, 299); 
HttpWebResponse wre = (HttpWebResponse)wr.GetResponse(); 
StreamReader sr = new StreamReader(wre.GetResponseStream()); 
sr.Read(data, 0, 299); 
Console.WriteLine((data)); 
sr.Close(); 
 

EDIT:サーバが送信したテキストであるかを調べるために、いくつかのネットワーク監視ツールでチェックしてみます。私はアウトドア&がコンソールにそれを書いたのを見るためにフィドラーを使用しました。

EDIT2:タイトルはページの先頭にあるとします。

+0

のためのsynthaxエラーありがとう、それは働いたが、それは信頼できない、それはあなたが入力したURLからの内容を常に返すことはありません..リダイレクト、ページが含まれているとAJAXアクションが壊れて.. – mohamadreza

2

cjjerほぼ正しくなっています。

まず、に正規表現を変更します。<title>(?<Content>.*?)?</title>

第二に、あなたは(念のため、あなたのURIは、タイトルを持っていない)最初のマッチオブジェクトを作成する必要があります。 cjjerとブーへ

Match tMatch = new RegEx(@"<title>(?<Content>.*?)?</title>").Match(new System.Net.WebClient().DownloadString(url)); 

if ((null != tMatch) && (tMatch.IsSuccess)) { 
    // yay. 
    title = tMatch.Groups("Content").value; 
} 
+0

多くの正規表現については、このエラーが発生します: "(?。*?)?" - 認識できないグループ化構文 – mohamadreza

+0

Stoopid StackOverflow。 (?<Content>。*?)? – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">HTMLデコードする。デュノはなぜあなたのためにそれをしないのですか? – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">関連する問題</div> <ul class="relative_list"> <li> 1. <a href="http://ja.uwenku.com/question/p-rmelztse-pd.html" target="_blank" title="javascriptで外部ページを読み込む"> javascriptで外部ページを読み込む </a> </li> <li> 2. <a href="http://ja.uwenku.com/question/p-xefjsixw-t.html" target="_blank" title="jQueryは$ .getページでタイトルを読む"> jQueryは$ .getページでタイトルを読む </a> </li> <li> 3. <a href="http://ja.uwenku.com/question/p-kadshxwm-dv.html" target="_blank" title="外部ページを読み込むことはできますか?"> 外部ページを読み込むことはできますか? </a> </li> <li> 4. <a href="http://ja.uwenku.com/question/p-cdncjzcy-qb.html" target="_blank" title="外部HTMLページをionic2に読み込む方法"> 外部HTMLページをionic2に読み込む方法 </a> </li> <li> 5. <a href="http://ja.uwenku.com/question/p-eagwtjbf-by.html" target="_blank" title="ウェブサイト内の外部ページを読み込む"> ウェブサイト内の外部ページを読み込む </a> </li> <li> 6. <a href="http://ja.uwenku.com/question/p-wfirfnuy-mh.html" target="_blank" title="外部URLをWebViewに読み込む"> 外部URLをWebViewに読み込む </a> </li> <li> 7. <a href="http://ja.uwenku.com/question/p-shphuwxk-cy.html" target="_blank" title="外部URLをタブパネルに読み込む"> 外部URLをタブパネルに読み込む </a> </li> <li> 8. <a href="http://ja.uwenku.com/question/p-eldivoyz-mn.html" target="_blank" title="JSXを読み込む前にページのタイトルを変更するには"> JSXを読み込む前にページのタイトルを変更するには </a> </li> <li> 9. <a href="http://ja.uwenku.com/question/p-zmvthfnr-dc.html" target="_blank" title="Magento CMSページ - 外部PHPスクリプトを含む"> Magento CMSページ - 外部PHPスクリプトを含む </a> </li> <li> 10. <a href="http://ja.uwenku.com/question/p-mfgwanme-bu.html" target="_blank" title="特定の部門に外部ページコンテンツを読み込む"> 特定の部門に外部ページコンテンツを読み込む </a> </li> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4606349252"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <li> 11. <a href="http://ja.uwenku.com/question/p-znjvimjy-ke.html" target="_blank" title="aspnetcoreで外部メールテンプレートを読む"> aspnetcoreで外部メールテンプレートを読む </a> </li> <li> 12. <a href="http://ja.uwenku.com/question/p-zrlmivlb-ee.html" target="_blank" title="Mavenで外部プロパティファイルを読む方法"> Mavenで外部プロパティファイルを読む方法 </a> </li> <li> 13. <a href="http://ja.uwenku.com/question/p-kekzpxzo-np.html" target="_blank" title="外部JavaScriptファイルを読み込む"> 外部JavaScriptファイルを読み込む </a> </li> <li> 14. <a href="http://ja.uwenku.com/question/p-kybewiuo-dr.html" target="_blank" title="外部設定ファイルを読む"> 外部設定ファイルを読む </a> </li> <li> 15. <a href="http://ja.uwenku.com/question/p-mcwhuedy-cy.html" target="_blank" title="Pythonで外部SQLスクリプトを読む"> Pythonで外部SQLスクリプトを読む </a> </li> <li> 16. <a href="http://ja.uwenku.com/question/p-orklgdst-kt.html" target="_blank" title="javascriptで外部jsonファイルを読む"> javascriptで外部jsonファイルを読む </a> </li> <li> 17. <a href="http://ja.uwenku.com/question/p-tdvpzuek-gc.html" target="_blank" title="C#の外部サイトのURLからPDFファイルを読むには"> C#の外部サイトのURLからPDFファイルを読むには </a> </li> <li> 18. <a href="http://ja.uwenku.com/question/p-sbuqailo-os.html" target="_blank" title="コンテンツを読み込むためにプログラムで外部Webページをスクロールする"> コンテンツを読み込むためにプログラムで外部Webページをスクロールする </a> </li> <li> 19. <a href="http://ja.uwenku.com/question/p-mfmfnzdr-ko.html" target="_blank" title="外部読み込みページのイベントリスナー"> 外部読み込みページのイベントリスナー </a> </li> <li> 20. <a href="http://ja.uwenku.com/question/p-gvvjypey-ez.html" target="_blank" title="部門のタイトルに従ってページのタイトルを変更する"> 部門のタイトルに従ってページのタイトルを変更する </a> </li> <li> 21. <a href="http://ja.uwenku.com/question/p-myvijvef-ek.html" target="_blank" title="GitHubからJavaScriptファイルを外部に読み込むには?"> GitHubからJavaScriptファイルを外部に読み込むには? </a> </li> <li> 22. <a href="http://ja.uwenku.com/question/p-nxtiqfmh-ny.html" target="_blank" title="外部PHPファイルをモーダルポップアップ内に読み込むには?"> 外部PHPファイルをモーダルポップアップ内に読み込むには? </a> </li> <li> 23. <a href="http://ja.uwenku.com/question/p-uoacljgp-cx.html" target="_blank" title="Sharepointシーケンシャルワークフローで外部データをレプリケータアクティビティに読み込む方法は?"> Sharepointシーケンシャルワークフローで外部データをレプリケータアクティビティに読み込む方法は? </a> </li> <li> 24. <a href="http://ja.uwenku.com/question/p-sfwuetrh-pu.html" target="_blank" title="githubのプロジェクトのPRタイトルを読む"> githubのプロジェクトのPRタイトルを読む </a> </li> <li> 25. <a href="http://ja.uwenku.com/question/p-huhipjjj-gs.html" target="_blank" title="PhoneGapでOneSignal通知のタイトルを読む"> PhoneGapでOneSignal通知のタイトルを読む </a> </li> <li> 26. <a href="http://ja.uwenku.com/question/p-tecnfldf-cu.html" target="_blank" title="サイトの下部にWebページを読み込む方法。"> サイトの下部にWebページを読み込む方法。 </a> </li> <li> 27. <a href="http://ja.uwenku.com/question/p-agzgrhoy-en.html" target="_blank" title="問題外部のJavaScriptをHTMLページに埋め込む"> 問題外部のJavaScriptをHTMLページに埋め込む </a> </li> <li> 28. <a href="http://ja.uwenku.com/question/p-oqybjguz-er.html" target="_blank" title="現在のURLを外部ページに書き込む"> 現在のURLを外部ページに書き込む </a> </li> <li> 29. <a href="http://ja.uwenku.com/question/p-swokrcnx-hr.html" target="_blank" title="安全にhtmlの外部ソースを読み込む方法"> 安全にhtmlの外部ソースを読み込む方法 </a> </li> <li> 30. <a href="http://ja.uwenku.com/question/p-skbrtevq-qc.html" target="_blank" title="イオン2:アプリの中に外部コンテンツを読み込む"> イオン2:アプリの中に外部コンテンツを読み込む </a> </li> </ul> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048742"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新の質問 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ja.uwenku.com/question/p-xqxzpzzo-nr.html" target="_blank" title="React Nativeの非コンポーネントユニットテスト"> React Nativeの非コンポーネントユニットテスト </a> </li> <li class="side_article_list_item"> 2. <a href="http://ja.uwenku.com/question/p-hrampoqk-mq.html" target="_blank" title="Androidのバレー:ヘッダーが添付されていません"> Androidのバレー:ヘッダーが添付されていません </a> </li> <li class="side_article_list_item"> 3. <a href="http://ja.uwenku.com/question/p-awpiddxw-ms.html" target="_blank" title="Reduxを使用して親子の状況でWebコンポーネントの共有コンテキストを作成するには、どのような方法が良いですか?"> Reduxを使用して親子の状況でWebコンポーネントの共有コンテキストを作成するには、どのような方法が良いですか? </a> </li> <li class="side_article_list_item"> 4. <a href="http://ja.uwenku.com/question/p-fnklhxew-mv.html" target="_blank" title="dut_error()メソッドを拡張できますか?"> dut_error()メソッドを拡張できますか? </a> </li> <li class="side_article_list_item"> 5. <a href="http://ja.uwenku.com/question/p-eivcvmgj-my.html" target="_blank" title="リアクションエレメントのクリックをシミュレートする"> リアクションエレメントのクリックをシミュレートする </a> </li> <li class="side_article_list_item"> 6. <a href="http://ja.uwenku.com/question/p-wqyflaej-mb.html" target="_blank" title="ブラックジャック・エース・シーケンス"> ブラックジャック・エース・シーケンス </a> </li> <li class="side_article_list_item"> 7. <a href="http://ja.uwenku.com/question/p-woyfjbsr-me.html" target="_blank" title="PartMapのRetrofitとWebKitFormBoundaryを使用してサーバーにファイルを送信する"> PartMapのRetrofitとWebKitFormBoundaryを使用してサーバーにファイルを送信する </a> </li> <li class="side_article_list_item"> 8. <a href="http://ja.uwenku.com/question/p-wckxyung-md.html" target="_blank" title="ニューラルネットワークの損失が減少しても精度は向上しませんか?"> ニューラルネットワークの損失が減少しても精度は向上しませんか? </a> </li> <li class="side_article_list_item"> 9. <a href="http://ja.uwenku.com/question/p-yuhmmjdx-ks.html" target="_blank" title=""executeQueryメソッドを取得することは更新に使用できません。" NetBeansでのエラーデータベース"> "executeQueryメソッドを取得することは更新に使用できません。" NetBeansでのエラーデータベース </a> </li> <li class="side_article_list_item"> 10. <a href="http://ja.uwenku.com/question/p-pzczfkpx-kv.html" target="_blank" title="Xamarin.Formsで.alertにFormattedTextを含める方法はありますか?"> Xamarin.Formsで.alertにFormattedTextを含める方法はありますか? </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 関連する問題</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://ja.uwenku.com/question/p-rmelztse-pd.html" target="_blank" title="javascriptで外部ページを読み込む"> javascriptで外部ページを読み込む </a> </li> <li class="side_article_list_item"> 2. <a href="http://ja.uwenku.com/question/p-xefjsixw-t.html" target="_blank" title="jQueryは$ .getページでタイトルを読む"> jQueryは$ .getページでタイトルを読む </a> </li> <li class="side_article_list_item"> 3. <a href="http://ja.uwenku.com/question/p-kadshxwm-dv.html" target="_blank" title="外部ページを読み込むことはできますか?"> 外部ページを読み込むことはできますか? </a> </li> <li class="side_article_list_item"> 4. <a href="http://ja.uwenku.com/question/p-cdncjzcy-qb.html" target="_blank" title="外部HTMLページをionic2に読み込む方法"> 外部HTMLページをionic2に読み込む方法 </a> </li> <li class="side_article_list_item"> 5. <a href="http://ja.uwenku.com/question/p-eagwtjbf-by.html" target="_blank" title="ウェブサイト内の外部ページを読み込む"> ウェブサイト内の外部ページを読み込む </a> </li> <li class="side_article_list_item"> 6. <a href="http://ja.uwenku.com/question/p-wfirfnuy-mh.html" target="_blank" title="外部URLをWebViewに読み込む"> 外部URLをWebViewに読み込む </a> </li> <li class="side_article_list_item"> 7. <a href="http://ja.uwenku.com/question/p-shphuwxk-cy.html" target="_blank" title="外部URLをタブパネルに読み込む"> 外部URLをタブパネルに読み込む </a> </li> <li class="side_article_list_item"> 8. <a href="http://ja.uwenku.com/question/p-eldivoyz-mn.html" target="_blank" title="JSXを読み込む前にページのタイトルを変更するには"> JSXを読み込む前にページのタイトルを変更するには </a> </li> <li class="side_article_list_item"> 9. <a href="http://ja.uwenku.com/question/p-zmvthfnr-dc.html" target="_blank" title="Magento CMSページ - 外部PHPスクリプトを含む"> Magento CMSページ - 外部PHPスクリプトを含む </a> </li> <li class="side_article_list_item"> 10. <a href="http://ja.uwenku.com/question/p-mfgwanme-bu.html" target="_blank" title="特定の部門に外部ページコンテンツを読み込む"> 特定の部門に外部ページコンテンツを読み込む </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://ja.uwenku.com/contact">お問い合わせ</a></li> <li>© 2020 JA.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>