0

私は現在、ウェブサイトの情報をスクレイピングし、ローカルにデータベースに保存するために使用されるプログラムを使用しています。このプログラムは IT 分野から記事を取得するように設定されており、私が見つけたと思われる特定のジャーナルのリストを取得しました。これは、DBLP というサイトから取得した DOI のように機能します。この DOI を使用して、接続をセットアップし、記事を見つけることができるサイトにリダイレクトします。私にとっての問題は、次の DOI を取得したことです。

相互参照

リンクをクリックするとわかるように、この記事を見つけるために 2 つの異なる場所から選択できることを示す相互参照サイトが表示されます。そして、私はこのサイトの 1 つをスクレイピングできる翻訳者しか持っていないので、IEEE Xplore サイトに行きたいと思っています。ここでの問題は、自分のプログラムに IEEE Xplore サイトにアクセスするように指示する方法がわからないことです。私が今持っているコードを見ると、次のようになります。

    public static void Scan(Article article) throws Exception
{
    //When running program, creates a error text-file inside java Project folder
    File file = new File("errorlogg.txt");
    FileWriter fileWriter = new FileWriter(file, true);

    // if file doesn't exists, then create it
    if (!file.exists()) 
    {
        file.createNewFile();
    }

    //Setting up an URL HttpURLConnection given DOI
    URL urlDoi = new URL (article.GetElectronicEdition());

    //Transform from URL to String
    String doiCheck = urlDoi.toString();

    //Check what Journals
    String JournalsWanted = article.GetJournal();

    //Used to see if DOI changed 
    System.out.println("New DOI: " + urlDoi);

    HttpURLConnection connDoi = (HttpURLConnection) urlDoi.openConnection();

    // Make the logic below easier to detect redirections
    connDoi.setInstanceFollowRedirects(false);  

    String doi = "{\"url\":\"" + connDoi.getHeaderField("Location") + "\",\"sessionid\":\"abc123\"}";

    //Setting up an URL to translation-server
    URL url = new URL("http://127.0.0.1:1969/web");
    URLConnection conn = url.openConnection();

そして、もしそれが私を正しく導くことができないことがわかったら、URL へのチャンスのような単純なことをすることを考えていました。私は次のようなことを考えました:

if(doiCheck.startsWith("http://dx."));

問題は、相互参照サイトが私が探している記事をどのように認識しているかを理解していないことです。そこにある IEEE Xplore へのリンクをクリックすると、次のように表示されるためです。

IEEE エクスプローラー

また、DOI を使用して記事を検索しているようには見えませんか、それとも見逃しているのでしょうか? IEEE Xplore の記事を検索するために URL を検索するようにプログラムに指示するにはどうすればよいですか?

質問が明確で理解しにくい場合は申し訳ありませんが、私の問題を説明するために最善を尽くしました。

4

0 に答える 0