也许你认为这是一个愚蠢的问题,但我希望你能给我一些建议。
我的问题:当我查看9gag.com的来源时,我发现他们有一些行代码来加载更多内容:
<div class="loading">
<a class="btn badge-load-more-post" href="/?id=ag0jnqK%2CaNoj2Nv%2CaEGZb39&c=10" data-loading-text="Loading more posts..." data-load-count-max="30">Load more posts</a>
</div>
然后,我尝试使用PHP-CURL来获取数据 的 http://9gag.com/?id=ag0jnqK%2CaNoj2Nv%2CaEGZb39&c=10 下, 我希望我能获得数据应用程序/ json,但它返回的是text / html(完整的html)。
我尝试使用Google Chrome的网络检查器,我意识到当Chrome从链接 http://9gag.com/?id=ag0jnqK%2CaNoj2Nv%2CaEGZb39&c=10
获取时,数据会返回如果有一种方法可以帮助我获得像Google Chrome一样的数据应用/ json。
答案 0 :(得分:1)
9gag 支持 JSON 请求! 有一个 URL 示例:https://9gag.com/v1/tag-posts/tag/samantha/type/fresh
您唯一需要做的就是指定一个名为 Mediapartners-Google 的用户代理,您可以在 https://9gag.com/robots.txt 找到它来绕过 Cloudflare 验证码。
答案 1 :(得分:0)
如果您真的想拥有JSON,可以使用名为infinigag的API。 http://www.programmableweb.com/api/infinigag http://infinigag.com/
但你也可以尝试解析html并使用它。我认为你会更好地解析HTML。 Infinigag更像是9gag的用户。它并不包含所有内容。如果你解析html,你100%确定它是最新的,你可以访问所有内容。