2017-09-24 84 views
-5

我想刮特定的網站。例如,在該網站(https://www.accessdata.fda.gov/scripts/cder/cliil/index.cfm)在索引頁面,當你選擇一個數據字段(你可以選擇國家),並在國家關鍵字可以選擇美國它導航搜索頁面(https://www.accessdata.fda.gov/scripts/cder/cliil/dsp_Search.cfm)我想下載搜索頁面。我想刮它。但沒有查詢字符串。我可以怎麼做?刮網站和檢索數據或下載現有的網站文件

是否有任何解決方案,我可以在參數索引中張貼表單?

編輯:

我用的WebRequest,但它不符合我的data.Are參數顯示網頁是假的?

這裏是我的代碼

System.Net.WebRequest request1 = System.Net.WebRequest.Create("https://www.accessdata.fda.gov/scripts/cder/cliil/dsp_Search.cfm"); 
      var Deger1 = "{'DataField':'COUNTRY','COUNTRY':'USA','Keywords':'','Submit':'Submit'}"; 
      request1.Method = "POST"; 

       byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(Deger1); 
      request1.ContentType = "text/xml"; 
      request1.ContentLength = byteArray.Length; 
      Stream dataStream = request1.GetRequestStream(); 
      dataStream.Write(byteArray, 0, byteArray.Length); 
      dataStream.Close(); 
      System.Net.WebResponse response = request1.GetResponse(); 
      Console.WriteLine(((System.Net.HttpWebResponse)response).StatusDescription); 
      dataStream = response.GetResponseStream(); 
      StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.UTF8, true); 
      string responseFromServer = reader.ReadToEnd(); 

      reader.Close(); 
      dataStream.Close(); 
      response.Close(); 

回答

0

我不知道如何使HTTP請求與#C而是讓你的需求滿足後我覺得下面的信息就足夠了。

1. FormData={ 
    'DataField':'COUNTRY','COUNTRY':'USA','Keywords':'','Submit':'Submit' 
} 
2. You should make a post request with the below url along with the above form data. 

"https://www.accessdata.fda.gov/scripts/cder/cliil/dsp_Search.cfm" 

我已經測試過其他語言,並發現它工作。

順便說一句,我上面的信息通過以下網址滿足在搜索領域的如下參數有:

url = "https://www.accessdata.fda.gov/scripts/cder/cliil/index.cfm" 

Search Fields: 

1. Country 
2. USA 
+0

謝謝,我嘗試,但它不與數據給網頁...我編輯問題和我添加我的代碼問題結束。是我的代碼是錯誤的? – user1688401

+0

沒問題。爲了您的考慮,在處理整個操作之前,您應該考慮兩件事情。你必須在標題中使用'User-Agent',最後數據是json格式。謝謝。 – SIM