php模拟登陆知乎

您好,我想和您聊聊如何使用php爬取知乎
2025-02-26 05:00:12
推荐回答(2个)
回答1:

这种模拟登陆其实很简单,php的话主要用curl来实现。仔细研究一下你要抓的站具体是怎么实现用户登录的,可以用wireshark或者burpsuite(建议用后者)抓包看看整个过程都有那几次请求,每次请求都发送了哪些数据,构造好发给他就可以实现登录了。
之后获取个人信息就很容易了,找找php解析html库,或者最简单粗暴的就是字符串截取函数加正则表达式,把你想要的数据提取出来就好了。
对于你给出的这种验证码属于非常容易识别的验证码了,基本的识别原理参看使用Canvas进行验证码识别。
当然比较蛋疼的问题就是网页编码问题,经常爬过来全是乱码,网上找找看转码的方法,都试一下,这是一门玄学,能不能成功看你人品和耐心吧。

回答2:

不好意思,没有留意到你给我提问的问题,快过了1年了才给你回复。

想要爬取知乎,最重要的是模拟登录。对于登录,其实也不算太难,只需要模拟浏览器端的
请求数据提交给知乎,就可以实现。

关于如何模拟浏览器端数据提交,请参考我的博客《PHP cURL 应用》
( http://www.zjmainstay.cn/php-curl )

我做了一个知乎登录的demo,你可以详细看看其中的源码,然后参考上面博客的内容,
举一反三。

PHP模拟知乎登录Demo:https://demo.zjmainstay.cn/php/curl/zhihulogin.php