php爬虫简单入门

前些日子有点空闲就做了一个简单的爬虫,爬取了知乎50W条数据,因为知乎有测试流量过大,导致经常有验证码,本人图片验证码没有研究所以每次都是手动输入,有兴趣的小伙伴可以做个自动识别验证码就可以无限采取了

爬虫使用了curl

public function zhihu($url){
    $param = false;
    $header= false;
    $postUrl = $url;
    $curlPost = $param;
    $ch = curl_init();//初始化curl
    if(substr($url,0,5)=='https'){
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);  // 从证书中检查SSL加密算法
    }
    curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER,0);//设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    if($header){
        curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
    }
    // curl_setopt($ch, CURLINFO_HEADER_OUT, true);//获取httpheader所有数据
    if($curlPost){
          curl_setopt($ch, CURLOPT_POST,1);//post提交方式
          curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
     }
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    return $data;
}

在爬取的时候感觉单线程较慢并且知乎有验证码,所以就做了一个php多线程爬取

多线程详细解释网址:https://blog.csdn.net/xyf_1995/article/details/81092094

在数据录入数据库的时候做了一个唯一索引,防止用户重复,但是TP自带的插入语法碰到唯一索引会报错,而不是忽略

然后我百度查找最后对insert进行了修改

insert修改详细代码:https://blog.csdn.net/xyf_1995/article/details/81092760

以上工作做好后就可以愉快的采集了

采集的数据没有时间作分析,就不展示了

有兴趣的小伙伴可以下载继续往下做和优化

代码下载地址:https://download.csdn.net/download/xyf_1995/10553428

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值