全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: 唐王李世民

[疑问] 求助一个PHP Curl网页源码动态的问题

[复制链接]
发表于 2024-11-12 12:35:28 来自手机 | 显示全部楼层
。。。你这刚学爬虫就爬淘宝么?哪有新手村出来就打boss的。爬点简单的吧
 楼主| 发表于 2024-11-12 12:50:19 | 显示全部楼层
kpxyyyy 发表于 2024-11-12 12:22
说实话,整贴下来也没看到你到底要取什么内容,取网页代码平常的请求就能拉,取数据爬人家接口就行了. ...

它的接口已经改变了,现在取不到接口数据,谢谢您了
 楼主| 发表于 2024-11-12 12:51:38 | 显示全部楼层
似毛非毛 发表于 2024-11-12 12:35
。。。你这刚学爬虫就爬淘宝么?哪有新手村出来就打boss的。爬点简单的吧

大佬哪里看到我是爬淘宝?
发表于 2024-11-12 13:05:33 | 显示全部楼层
确实,由于今日头条等网站使用大量的 JavaScript 来动态加载页面内容,直接使用 cURL 请求无法完整获取动态内容。可以尝试以下两种方法来解决这个问题:

1. 使用无头浏览器 (Headless Browser)
无头浏览器,如 Puppeteer(Node.js 环境)或 Playwright,可以完全模拟浏览器访问页面,包括执行 JavaScript 代码,从而获得完整的内容。这种方法可以确保页面完全加载后抓取内容。

以下是 Puppeteer 的简单示例:



2. 使用 PHP 的 Selenium WebDriver
如果你希望继续使用 PHP 语言,可以结合 Selenium WebDriver 和 ChromeDriver。PHP 有适配的 FB WebDriver 库,通过它可以操控 Chrome 浏览器,获取完整的网页内容。

以下是一个使用 PHP WebDriver 和 ChromeDriver 的示例:



注意事项
环境准备:Puppeteer 需要 Node.js 环境,而 PHP WebDriver 需要启动 Selenium Server 和 ChromeDriver。
效率和资源占用:无头浏览器会消耗更多资源,适合获取高精度数据时使用。
避免频繁请求:使用这些方法抓取数据时要注意频率,以免被网站封禁。
通过这两种方式,你可以更好地获取今日头条视频页面等动态内容。
发表于 2024-11-12 13:07:55 | 显示全部楼层
唐王李世民 发表于 2024-11-12 09:04
谢谢您的回复,我试一试

还没搞定?
发表于 2024-11-12 13:36:49 | 显示全部楼层
本帖最后由 imdong 于 2024-11-12 13:58 编辑

只需要设置UA和Cookie ttwid参数就行
发表于 2024-11-13 01:25:00 | 显示全部楼层
imdong 发表于 2024-11-12 13:36
只需要设置UA和Cookie ttwid参数就行

我测这个玩意老被cdn的反爬虫拦截,还是用浏览器爬舒服
 楼主| 发表于 2024-11-13 08:59:39 | 显示全部楼层
imdong 发表于 2024-11-12 13:36
只需要设置UA和Cookie ttwid参数就行

昨天没有时间测试,今天测试一下,谢谢您了
发表于 2024-11-13 09:28:08 | 显示全部楼层
kpxyyyy 发表于 2024-11-13 01:25
我测这个玩意老被cdn的反爬虫拦截,还是用浏览器爬舒服

用浏览器需要等到页面加载完,速度上会慢些,所以没有触发机制
自动化和脚本个有利弊
发表于 2024-11-13 11:54:47 | 显示全部楼层
imdong 发表于 2024-11-13 09:28
用浏览器需要等到页面加载完,速度上会慢些,所以没有触发机制
自动化和脚本个有利弊 ...

要是有个能够模拟执行需要浏览器的js但又不是浏览器的玩意就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-26 19:21 , Processed in 0.079841 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表