我想抓取特定的网站。例如,当您选择数据字段(您可以选择国家/地区)时,在索引页面中的该网站(https://www.accessdata.fda.gov/scripts/cder/cliil/index.cfm)和国家/地区关键字中,您可以选择美国导航搜索页面( https://www.accessdata.fda.gov/scripts/cder/cliil/dsp_Search.cfm)我想下载搜索页面。我想抓它。但是没有查询字符串。我怎么能这样做?
我是否可以使用参数在索引中发布表单?
编辑:
我使用webrequest但它没有显示带有数据的页面。我的参数是假的吗?
这是我的代码
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 :(得分:0)
我不知道如何使用#c发出http请求,但为了满足您的要求,我认为以下信息就足够了。
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