我在使用Html Agility Pack从网站提取数据时遇到问题。 Html Agility加载的页面源与浏览器中View Page Source菜单中的源不同。这是我的区别:

查看页面源代码:

<td>
    <span style="color:#158EF7; font-weight:bold">
        ABCDEF
    </span>
</td>


源来自Html Agility

<td>
    <font face="Arial" color="#404040" size="2">
        <span style="color:#158EF7; font-weight:bold">
            ABCDEF
        </span>
    </font>
</td>


我不知道为什么有这么大的区别。可能是因为javascript代码或其他原因。但是我不在乎,我只想获得确切的来源,就像我从View Page Source菜单获得的来源一样。我该如何实现?谢谢你的帮助。

最佳答案

解析Google来查找网页及其位置时,我也遇到了这个问题。就像您说的那样,我从页面源中获取的字符串与DIFFERED不同。

如果我没记错的话,您发送了一个HTTP-Header,其中包含一个名为User-Agent的属性-> WIKIEPEDIA ABOUT USER-AGENTS,这告诉站点您解析的浏览器是什么,或者您是网络爬虫机器人。

问题
几个小时后,我看到我发送了一个空字符串,尽管它被设置为默认值,但是当时我还不知道。反过来,这使Google相信我不是从浏览器发送HTTP-REQUEST,而是纯粹的机械蜘蛛……AKA网络搜寻器。


尝试将用户代理设置为与您使用的浏览器相同的浏览器。那应该使您的字符串更像页面源代码。
但!!!如果他们运行的脚本根据其脚本内容更改了网站上的内容。那是另外一回事了。

在此处查看其他用户代理字符串-> User-agent string list

09-27 10:17