我在使用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。