手记

php爬虫框架的使用


网络爬虫:互联网就像一张巨大的蜘蛛网,里面存放了很多的数据。爬虫就是一只沿着网络线去获取自己所需数据的小蜘蛛,数据采集指的是我们向目标网站发出请求,然后获取到数据后把有用数据提取的程序。所需要用到的技术就是模拟浏览器向站点发出请求行为,把站点返回的各种数据保存到本地在进行有用数据的过滤。

爬虫的框架有很多,Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。这几天使用PHP的爬虫框架爬取了一些数据,发现还是挺方便的,这里放下php程序直中配置代理的简单示例,为自己的学习做个小笔记。

<?php

   // 要访问的目标页面

   $url = "http://httpbin.org/ip";

   $urls = "https://httpbin.org/ip";

   // 代理服务器(产品官网 www.16yun.cn)

   define("PROXY_SERVER", "tcp://t.16yun.cn:31111");

   // 代理身份信息

   define("PROXY_USER", "username");

   define("PROXY_PASS", "password");

   $proxyAuth = base64_encode(PROXY_USER . ":" . PROXY_PASS);

   // 设置 Proxy tunnel

   $tunnel = rand(1,10000);

   $headers = implode("\r\n", [

       "Proxy-Authorization: Basic {$proxyAuth}",

       "Proxy-Tunnel: ${tunnel}",

   ]);

   $sniServer = parse_url($urls, PHP_URL_HOST);

   $options = [

       "http" => [

           "proxy"  => PROXY_SERVER,

           "header" => $headers,

           "method" => "GET",

           'request_fulluri' => true,

       ],

       'ssl' => array(

               'SNI_enabled' => true, // Disable SNI for https over http proxies

               'SNI_server_name' => $sniServer

       )

   ];

   print($url);

   $context = stream_context_create($options);

   $result = file_get_contents($url, false, $context);

   var_dump($result);

   // 访问 HTTPS 页面

   print($urls);

   $context = stream_context_create($options);

   $result = file_get_contents($urls, false, $context);

   var_dump($result);

虽然只是一段小小的示例,但是也是自己学习路上的基石,希望自己可以积土成山,学到更多的技术


0人推荐
随时随地看视频
慕课网APP