2

Google Scholar の論文の分析というプロジェクトに取り組んでいます。私がしていることは、基本的に、HTML の解析、関連フィールドのデータベースへの保存などです。ただし、出版物のタイトルを取得しているときに、最初の 20 個の要素を取得できることに気付きました。しかし、関連するアカウントには60の論文があります:

http://scholar.google.com/citations?user=B7vSqZsAAAAJ

したがって、解決策として、プログラムで「もっと見る」ボタンをクリックする必要があると思います。これにより、すべてのタイトル、出版場所などを取得できます。

どう思いますか?どうすればそのようなアクションを実行できますか?

編集:「さらに表示」ボタンをチェックしましたが、次のページとして表示するものは何もありませんが、その html コードは同じままです。解決策として、ループを n 回使用できます。ただし、より堅牢なソリューションを探しています。お時間をいただきありがとうございます!

4

2 に答える 2

1

Windows フォーム アプリケーションの WebBrowser コントロール内のボタンをクリックしている場合は、「はい」できます。XPath を使用して識別をより詳細に制御する方法があります。

(オブジェクトの相互作用に XPath を使用するために Javascript を使用する必要があるかもしれません - あなたはそれを求めていないので、私はあなたがそれを必要としないと仮定します)

webBrowser.Navigate("http://www.google.com");

//   Or

HtmlElement textElement = webBrowser.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "your text to search");
HtmlElement btnElement = webBrowser.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");

または、テキストボックスに入力することもできます

webBrowser1.Document.GetElementById("gs_tti0").InnerText = "hello world";
于 2016-01-26T11:07:30.233 に答える
0

特にこの Web サイトの場合、簡単な回避策があります。クエリ文字列を必要なレコードに変更します。

http://scholar.google.com/citations?user=B7vSqZsAAAAJ &cstart=0&pagesize=2000

于 2014-12-08T08:57:12.177 に答える