Html NSURLRequest/URLWithString未加载整个网页文本
我正在启动一个iOS项目,其中包括解析网页中的一些数据。我打算用 我开始使用“.”作为测试用例,使用XPath(通过Hpple使用Libxml2)解析页面。XPath/Hpple似乎工作得很好,但我注意到我无法从页面中找到用户的帖子。在尝试了多种XPath命令组合后,我意识到用户帖子根本不在NSURLRequest或URLWithString给我的文本中。据我所知,似乎有很多结构类型的数据 当我使用FireFox和FireBug时,我会在Div节点中看到帖子,比如Html NSURLRequest/URLWithString未加载整个网页文本,html,ios,xpath,Html,Ios,Xpath,我正在启动一个iOS项目,其中包括解析网页中的一些数据。我打算用 我开始使用“.”作为测试用例,使用XPath(通过Hpple使用Libxml2)解析页面。XPath/Hpple似乎工作得很好,但我注意到我无法从页面中找到用户的帖子。在尝试了多种XPath命令组合后,我意识到用户帖子根本不在NSURLRequest或URLWithString给我的文本中。据我所知,似乎有很多结构类型的数据 当我使用FireFox和FireBug时,我会在Div节点中看到帖子,比如 <div data-ft
<div data-ft="{"tn":"K"}" class="mbs _5pbx userContent">We are accepting donations at our thrift store!! Please bring your gently used items here/div>
我们在旧货店接受捐赠!!请将您的常用物品带到这里/div>
当我直接从FireFox获取页面源代码时,大多数用户的帖子也会丢失。因此,以下事情之一正在发生
关于您的具体问题:不要试图刮脸书。他们使用大量ajax获取数据,第一步是使用无头浏览器,您需要将其自动化(但这将导致性能严重下降)。其次,他们经常改变他们的网站,解析它很可能经常中断
另一方面,它们提供了一个,也就是。单个HTML页面(基本上是单个文本文件)和浏览器中显示的“正在运行”页面之间有很大的区别,后者就像HTML源代码上的编译器,加载JS、CSS、图像和其他文件,开始执行Javascript(和其他脚本),这反过来可能会加载大量JSON数据,这反过来又会加载大量额外的HTML或动态更改DOM模型
NSURLRequest
/URLWithString
只返回原始HTML小文本文件
作为用户,您在Firefox中看到的,或者通过FireBug检查DOM模型——这就是浏览器的用途,这与您收到的文件不同
NSURLRequest
/URLWithString
metods
所以,如果你了解所有这些复杂性,要么你想开发自己的浏览器,要么你需要看看WebKit,看看它是否能帮助你。是的,这很有道理,我应该意识到这一点,但显然需要你为我解释一下。看起来我的客户希望我使用WebKit。我们希望处理多个站点,因此我可能无法使用FB API,但我将此标记为答案并进行了投票,因为如果只对FB站点本身进行操作,这显然是最好的解决方案。我简要地查看了API,非常令人印象深刻,谢谢。