gpt4 book ai didi

html - NSURLRequest/URLWithString 未加载整个网页文本

转载 作者:行者123 更新时间:2023-11-28 22:14:23 25 4
gpt4 key购买 nike

我正在启动一个 iOS 项目,其中包括从网页中解析一些数据。我正打算使用

我开始使用“http://www.facebook.com”。作为我的测试用例,以及 XPath(通过 Hpple 使用 Libxml2)来解析页面。 XPath/Hpple 似乎运行良好,但我注意到我无法从页面中找到用户的帖子。在尝试了多种 XPath 命令组合之后,我意识到用户帖子根本不在 NSURLRequest 或 URLWithString 给我的文本中。据我所知,它似乎有很多结构类型数据。

当我使用 FireFox 和 FireBug 时,我在 Div 节点中看到帖子,例如

<div data-ft="{&quot;tn&quot;:&quot;K&quot;}" class="mbs _5pbx userContent">We are accepting donations at our thrift store!! Please bring your gently used items here/div>

当我直接从 FireFox 获取页面源代码时,大多数用户帖子也从中丢失了。所以发生了以下事情之一。

  1. 我不了解 HTML 的结构,需要使用不同的方式来加载此文本。
  2. FB 有一个非常复杂的 HTML,它以某种方式编码/隐藏文本。
  3. NSURL 有一些我不明白的设置,它们正在以某种方式编码/不加载此文本,我找不到它。

我可以从一个更简单的网站开始,但我选择了 FB,因为它很复杂,因为我想确保我编写的解析器可以在给定的任何网站上运行。

我确信这是我对如何解析网页的一个非常明显的误解,任何人都可以指出正确的方向吗?

最佳答案

I could start with a simpler web site but I chose FB because of it's complexity, as I want to make sure the parser I write will work on any site it's given.

可能不是最好的开始方式。在遇到复杂的情况之前,最好先获得一些解决简单问题的经验。


关于您的具体问题:不要尝试抓取 Facebook。他们使用大量的 ajax 来获取数据,第一步是使用您需要自动化的 headless 浏览器(但是将导致性能大幅下降)。接下来,他们经常更改他们的网站,并且解析它很可能经常中断。

另一方面,他们提供了一个stable and easy-to-use API ,即 also available as SDK for iOS .

关于html - NSURLRequest/URLWithString 未加载整个网页文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com