HtmlAgilityPack(C#)无法读取过去隐藏的文本

时间:2014-10-16 03:14:10

标签: c# web-scraping html-agility-pack

使用以下网址:

link to search results page

我试图首先从这个html中删除一个标签中的文本,这个标签可以在用Firebug查看时从源代码中看到:



<div id="search-results" class="search_results">
  <div class="searchResultItem">
    <div class="searchResultImage photo">
      <h3 class="black">
        <a class="linkmed " href="/content/1/2484243.html">加州旱象不减 开源节流声声急</a>
      </h3>
      <p class="resultPubDate">15.10.2014 06:08 </p>
      <p class="resultText">
    </div>
  </div>
  <p class="more-results">
&#13;
&#13;
&#13;

但是当我刮擦页面时我得到的是:

&#13;
&#13;
<div class="search_results" id="search-results"> 
  <input type="hidden" name="ctl00$ctl00$cpAB$cp1$hidSearchType" id="hidSearchType">      
</div> 
<p class="more-results">
&#13;
&#13;
&#13;

无论如何以Firebug的方式查看源代码?

1 个答案:

答案 0 :(得分:0)

你是如何抓页的?使用Fiddler之类的内容,检查请求和动态页面的响应,例如这些。 Firebug之所以看到更多的原因是因为当您在浏览器中查看时,所有动态元素已经加载,实际上您的抓取方法只是拼图的一部分(初始HTML)。

提示:对于此搜索页面,您将看到对结果数据的请求实际上是a)单独的GET请求,其中b)是一个长查询字符串,c)标题上有一个cookie,它返回一个包含JSON对象的JSON对象数据。这就是为什么你发布的链接只给我“未定义”,因为它不包含搜索数据。