问题标签 [tfhpple]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
125 浏览

ios - 如何解析
在 iOS 上使用 Hpple?

我有一个类似的 html 文件

如何解析它以获取 element1、elemnet2 和 element3?

我正在使用适用于 iOS 的 Hpple。

我正在使用类似的查询

但这行不通。

TIA

0 投票
1 回答
355 浏览

ios - 解析页面的 HTML 代码,包含在 iOS 中带有 TFHpple 的 JSON 键值对中

我正在使用它的 API 制作我团队项目的原生 iOS 应用程序。API有三个主要方法:获取用户的个人资料信息、他的日记和证书表。最后一个方法返回给我 JSON 数据和表格的 HTML 代码。看起来像这样

{"html":"<table class=\"table term-marks\" cellspacing=\"0\" cellspadding=\"0\"> <thead> <tr> <td>\u041f\u0440\u0435\u0434\u043c\u0435\u0442<\/td> <td colspan=\"10\">\u041e\u0446\u0435\u043d\u043a\u0438<\/td><td width=\"60px\">\u0421\u0440\u0435\u0434\u043d\u0438\u0439 <br\/>\u0431\u0430\u043b\u043b<\/td> <td width=\"60px\">\u0421\u0440\u0435\u0434\u043d\u0438\u0439 <br\/>\u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0443<\/td> <td width=\"60px\">\u0421\u0440\u0435\u0434\u043d\u0438\u0439 <br\/>\u043f\u043e \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438<\/td><td width=\"60px\">\u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430<\/td> <\/tr> <\/thead> <tbody> <tr> <td>\u0410\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439<\/td> <td>5<\/td> <td>5<\/td> <td>5<\/td> <td>4<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.60<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0411\u0438\u043e\u043b\u043e\u0433\u0438\u044f<\/td> <td>3<\/td> <td>5<\/td> <td>5<\/td> <td>5<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.50<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u044f<\/td> <td>5<\/td> <td>4<\/td> <td>3<\/td> <td>2<\/td> <td>3<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>3.40<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u043a\u0430 \u0438 \u0418\u041a\u0422<\/td> <td>5<\/td> <td>5<\/td> <td>4<\/td> <td>5<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.75<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0418\u0441\u0442\u043e\u0440\u0438\u044f<\/td> <td>5<\/td> <td>2<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>3.50<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u041b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430<\/td> <td>4<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.00<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430<\/td> <td>4<\/td> <td>5<\/td> <td>3<\/td> <td>5<\/td> <td>4<\/td> <td>4<\/td> <td>5<\/td> <td>2<\/td> <td>3<\/td> <td>5<\/td> <td>4.00<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u041e\u0431\u0449\u0435\u0441\u0442\u0432\u043e\u0437\u043d\u0430\u043d\u0438\u0435<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.00<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0420\u0443\u0441\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a<\/td> <td>5<\/td> <td>5<\/td> <td>4<\/td> <td>5<\/td> <td>5<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.80<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0422\u0430\u0442\u0430\u0440\u0441\u043a\u0430\u044f \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0422\u0430\u0442\u0430\u0440\u0441\u043a\u0438\u0439 \u044f\u0437\u044b\u043a<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.00<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0424\u0438\u0437\u0438\u043a\u0430<\/td> <td>3<\/td> <td>4<\/td> <td>5<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.00<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u0430<\/td> <td>5<\/td> <td>4<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.50<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr> <td>\u0425\u0438\u043c\u0438\u044f<\/td> <td>4<\/td> <td>5<\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td><\/td> <td>4.50<\/td><td><\/td> <td><\/td> <td><\/td> <\/tr> <tr><td colspan=\"11\"><strong>\u0418\u0422\u041e\u0413\u041e<\/strong><\/td><td>3.88<\/td> <td>0<\/td> <td>0<\/td> <td>-<\/td><\/tr> <\/tbody> <\/table>"}

我试图用这个 JSON 数据创建一个 NSDictionary 并从那里获取 NSData ,如下所示:

但我得到了和这里一样的错误。但我不能使用那里的解决方案,因为我没有表格的 URL,我只有它的 html 代码。我该如何解析它?

0 投票
1 回答
554 浏览

ios - 使用 Hpple 在 Xcode 中解析 xml

我有一些看起来像这样的 xml:

现在我正在尝试获取标签下的info标签数量,对于第一个info具有Plain Bagel.

就像我说的那样,我正在为 iOS 使用 Hpple 解析器。这是我拥有和正在尝试但不能完全让它工作的东西。

第一个数是 1。这是对的,但里面的数是 7,这就是我感到困惑的地方。不知道为什么会这样。进入info标签后,我想遍历每个标签、服务、卡路里和来自脂肪的卡路里,并获取每个标签的文本。但我不确定为什么它给出 7?

我在这里先向您的帮助表示感谢。

0 投票
1 回答
1955 浏览

ios - 编码错误:使用 tfhple 时由于输入错误导致输入转换失败

html 是一个 nsstring,当它在最后一行代码运行时,会发生错误。

encoding error : 由于输入错误,输入转换失败,字节 0x20 0x2D 0x20 0x44

encoding error : 由于输入错误,输入转换失败,字节 0x20 0x2E 0x2E 0x2E

编码错误:由于输入错误,输入转换失败,字节 0x3C 0x2F 0x61 0x3E

编码错误:由于输入错误,输入转换失败,字节 0x3C 0x2F 0x61 0x3E

I/O 错误:编码器错误节点为零。

0 投票
0 回答
294 浏览

html - 在 iOS 中使用 Hpple search href 解析 HTML

我想在 html 源代码中找到 url 链接。我正在使用 Hpple 来解析 HTML。我知道通过给出路径我们会在 html 中找到 url。对于不同的 url,必须更改路径。所以我无法搜索 url 链接。

让我解释清楚。比如我在yahoo.com这个网站中包含了板球、天气、体育、邮件、新闻等,我想在源代码中找到那个链接。

我在这里所做的只是给出路径并搜索“a href”。如果路径正确,将显示路径中存在的所有 url。没有出现在同一页面中的剩余 url(不在同一路径中)。我该怎么做?

提前致谢。

0 投票
1 回答
237 浏览

html - 为什么我在使用 TFHpple 解析这些 HTML 数据后没有得到任何数据

我正在努力从我的 xPathQuery 中获取任何信息。我使用 Chrome 的开发人员工具获得的链接,并通过右键单击所附屏幕截图中突出显示的行来完成。我正在创建一个基于配方的应用程序,并且在尝试扩展它之前只是在使用单个 URL。帮助将不胜感激!

0 投票
2 回答
213 浏览

html - 使用 TFHpple 获得第一级

我在使用 TFHpple 时遇到了一些问题,所以这里是:我想解析以下几行:

现在我想将第一级div“元素”(对不起,我不知道正确的术语)放在一个数组中。因此,我尝试通过简单地/div将 xPath 提供给searchWithXPathQuery方法来做到这一点,但它根本找不到任何东西。

我的第二个解决方案是尝试使用这种路径://div[@class=\"head\"]但也允许[@class=\"\"]但我什至不知道这是否可能。(我想这样做是因为我需要元素在数组中的顺序与它们在数据中的顺序相同)

所以这是我的问题,TFHpple 不能使用有什么特别的原因/div吗?如果没有办法只取第一级div,那么是否可以使用 xPath(这里是属性class)对属性的值进行谓词?(如何?我现在看了很多,找不到任何东西)

谢谢你的帮助。

PS:如果有帮助,这是我用来尝试解析数据的代码,它首先包含在字符串中self.material.Text

0 投票
0 回答
146 浏览

html - 无法从以下 html 中提取链接

我需要从某个链接中获取链接以执行爬网,但是无论我重写 xpath 多少次,我都无法从 html 中提取链接。因此,我无法找到从中提取链接的方法。请给我一些建议来解决这个问题。

这是我要从中提取链接的链接的 html 代码:

我如何提取链接"//*[@id="subject1"]/ul/li[1]/a/@href"和网站

我要刮掉链接表格:http ://www.gorate.com.my/item-336.html#.Vhx55BOqqkr

0 投票
1 回答
548 浏览

objective-c - 发送 POST 请求 Objective-C

我需要向网站发送 POST 请求以加载更多页面结果(我要解析大约 200 个结果(使用 TFHpple),但页面仅显示 40 个,您需要单击“显示更多结果”按钮加载更多)。

我试图在网上搜索如何发送 POST 请求,但我尝试过但没有成功:(谁能帮我弄清楚吗?

一般信息:

如果需要任何其他信息,只需写信,我会给你。

非常感谢!

我这样做对吗?

0 投票
0 回答
89 浏览

objective-c - 在 Objective-C 中发送 POST 请求

我需要向网站发送 POST 请求以加载页面的更多结果(我要解析(使用TFHpple)大约 200 个结果,但页面仅显示 40 个,您需要单击“显示更多结果”按钮加载更多(有 4 页)))。

每次一两个地址不同而另一个相同,这是为什么呢?他们都应该是不同的。

我试图在网上搜索如何发送 POST 请求,但我尝试过但没有成功:(谁能帮我弄清楚吗?

一般信息:

如果需要任何其他信息,只需写信,我会给你。

非常感谢!

我这样做对吗?