我在使用 Recaptcha 抓取政府网站是合法的还是非法的,我在后端代码中发现了一些链接,除了下面提到的链接之外,我还提到了这些链接,并且这些链接没有在网站上使用,我正在使用该链接来抓取数据是该链接可以很好地抓取数据,或者如果我曾经使用该链接抓取数据,则网站所有者可能会阻止我的 IP 地址。这是我的代码我正在抓取数据
var requester = new HttpRequester();
requester.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36";
var configuration = Configuration.Default.WithDefaultLoader(requesters: new[] { requester }).WithCookies();
string url = "http://www.mca.gov.in/mcafoportal/viewSignatoryDetails.do";
var context = BrowsingContext.New(configuration);
await context.OpenAsync(url);
try
{
await context.Active.QuerySelector<IHtmlFormElement>("form[name='signatoryForm']").SubmitAsync(new
{
companyID= "U30009KA2001PTC029692",
displayCaptcha ="false"
});
Console.WriteLine();
}
catch(Exception ex)
{
Console.WriteLine(ex.InnerException.Message);
}
if (context.Active != null)
{
var sdTable = context.Active.QuerySelector<IHtmlTableElement>("table[id='signatoryDetails']");
if (sdTable != null)
{
if (sdTable.Children.Count() > 0)
{
for (int i = 0; i < sdTable.Children[1].ChildElementCount; i++)
{
Console.WriteLine(sdTable.Children[1].Children[i].Children[0].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[1].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[2].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[3].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[4].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[5].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[6].TextContent);
Console.WriteLine(sdTable.Children[1].Children[i].Children[7].TextContent);
Console.WriteLine("------------------------------");
}
}
}
else
{
Console.WriteLine("No result found");
}
}
}
catch ( Exception ex)
{
Console.WriteLine(ex.Message);
}
我正在使用此 url Index Charges抓取数据,但是当我更改此 url Signatory时,我抓取的数据出现了一些错误或无法作为第一个 url,请帮助我在其中缺少什么。