我有一个使用HttpWebRequest
和HttpWebResponse
的应用程序来获取页面的html文本,但是我得到的信息是Div
内的Div
但是request = (HttpWebRequest)WebRequest.Create("https://portal.cfm.org.br/index.php?option=com_medicos&Itemid=59");
request.Proxy = webProxy;
request.Timeout = 80000;
request.Method = "GET";
request.KeepAlive = true;
response = (HttpWebResponse)request.GetResponse();
sr = new StreamReader(response.GetResponseStream(), encoding);
html = sr.ReadToEnd();
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
1}}当我在应用程序中得到它时,它显示为空,内部没有信息。
在检查模式下使用谷歌浏览器我可以在视图源中看到div内的信息,但信息不会出现。
有人可以帮助我,因为我使用 C#
获取此信息我的代码:
<div id="resultadoMedicos"><dl id="system-message" class="ui-dialog-content ui-widget-content" style="width: auto; display: block; min-height: 120px; height: auto;">
<dt>A sequência de caracteres digitada não confere com a da imagem exibida. Por favor, preencha o campo novamente.</dt>
<dd class="message fade">
<ul>
<li></li>
</ul>
</dd>
</dl>
</div>
代码附带的Div:
<div id="resultadoMedicos"><table id="tableMedicos" cellspacing="0" border="0">
<tbody>
<tr class="tableHeaderMedicos">
<td class="valorNome"><span>Nome do Médico</span></td>
<td class="valorSituacao"><span>Situação</span></td>
<td class="valorCRM"><span>CRM</span></td>
<td class="valorUF"><span>Estado</span></td>
</tr>
<tr class="regRow regRow0 row row0 medRow" crm="152756" uf="SP" style="display: table-row;">
<td class="valorNome"><span>Alan Felipe Sakai</span></td>
<td class="valorSituacao"><span>Regular</span></td>
<td class="valorCRM"><span>152756</span></td>
<td class="valorUF"><span>SP</span></td>
</tr>
</tbody>
</table>
</div>
&#13;
Original Div(包含我需要的信息):
send
&#13;
答案 0 :(得分:2)
该消息转换为:&#34;键入的字符序列与显示的图像不匹配。请再次填写该字段。&#34;
看起来该网站正在使用CAPTCHA来阻止您以这种方式抓取数据。
除非您可以让网站所有者向您提供其数据的直接Feed,否则您将无法提取信息。