风哥教程

培训 . 交流 . 分享
Make progress together!

目标网站封代理怎么解决?

[复制链接]
内容发布:suger| 发布时间:2020-7-28 17:30:51

现在很多爬虫都会有抓取数据的需求,因此网络爬虫在一定程度上越来越火爆,其实爬虫的基本功能很简单,就是分析大量的url的html页面,从而提取新的url,但是在实际操作中通常都会遇到各种各样的问题,比如说抓取数据的过程中需要根据实际需求来筛选url继续爬行;或者说为了能正常爬取,减少别人服务器的压力,你需要控制住爬取的速度和工作量,但是即便再小心,很多时候也会遇到被网页封禁的情况。在实际操作过程中,我们经常会被网站禁止访问但是却一直找不到原因,这也是让很多人头疼的原因,这里有几个方面可以帮你初步检测一下到底是哪里出了问题。例如以下一段代码
<?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);?>
curlGuzzleHttp
如果你发现你抓取到的信息和页面正常显示的信息不一样,或者说你抓取的是空白信息,那么很有可能是因为网站创建页的程序有问题,所以抓取之前需要我们检查一下;不管是用户还是爬虫程序,其实在浏览信息的时候就相当于给浏览器发送了一定的需求或者说是请求,所以你要确保自己的所有请求参数都是正确的,是没有问题的;很多时候我们的ip地址会被记录,服务器把你当成是爬虫程序,所以就导致现有ip地址不可用,这样就需要我们想办法修改一下现有爬虫程序或者修改相应的ip地址,修改IP地址,可以用亿牛云IP家的代理IP来解决。;注意调整自己的采集速度,即便是要再给程序多加一行代码,快速采集也是很多爬虫程序被拒绝甚至封禁的原因。




上一篇:使用Scrapy进行爬虫
下一篇:电商采集的一些策略
回复

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门文章教程

  • 风哥Oracle数据库巡检工具V1.0(附2.6网页
  • PostgreSQL数据库中文培训手册
  • Navicat for MySQL最新版下载地址及注册码
  • Oracle OCP认证考试IZ0-053题库共712题数据
  • MySQL5权威指南(第3版)PDF电子版下载
  • Oracle Database 12c 数据库100个新特性与
快速回复 返回顶部 返回列表