从零开始,hg0088新2网址大全|官方网站论坛

快捷导航
广告联系qq1031180668广告位
查看: 211|回复: 0
打印 上一主题 下一主题

[python] python爬虫简单的添加代理进行访问的实现代码

[复制链接]
  • ta_mind
    开心
    2019-8-2 17:46
  • classn_01: 19 classn_02

    [LV.4]偶尔看看III

    24

    主题

    30

    帖子

    108

    积分

    注册会员

    Rank: 2

    积分
    108
    QQ
    跳转到指定楼层
    楼主
    发表于 2019-7-18 17:39:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    本文通过实例代码给大家介绍了python爬虫简单的添加代理进行访问,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    在使用python对网页进行多次快速爬取的时候,访问次数过于频繁,服务器不会考虑User-Agent的信息,会直接把你视为爬虫,从而过滤掉,拒绝你的访问,在这种时候就需要设置代理,我们可以给proxies属性设置一个代理的IP地址,代码如下:
    ? ?? ???// 要访问的目标页面
    ? ?? ???$url = "http://httpbin.org/ip";
    ? ?? ???$urls = "https://httpbin.org/ip";
    ? ?? ???// 代理服务器
    ? ?? ???define("PROXY_SERVER", "tcp://t.16yun.cn:31111");
    ? ?? ???// 隧道身份信息
    ? ?? ???define("PROXY_USER", "16YUN123");
    ? ?? ???define("PROXY_PASS", "123456");
    ? ?? ???$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);?>
    在代码中的目标网站是检测代理是否访问成功,如果访问成功就会返回代理ip,如果代理返回
    异常有可能是代理的配置没有正确,那就需要对配置的代理信息进行检查。
    Ps每家代理的测试效果都会有不同,以实际目标网站实际测试为准,这里推介比较好的代理亿牛云。

    游客
    回复
    您需要登录后才可以回帖 登录 | 立即注册

    手机版|Archiver|小黑屋|sitemap| 从零开始,hg0088新2网址大全|官方网站论坛 - 一个单纯的hg0088新2网址大全|官方网站学习交流论坛 ( 豫ICP备15032706号 )

    GMT+8, 2019-8-20 10:32 , Processed in 1.995756 second(s), 23 queries .

    Powered by Discuz! X3.4

    ? 2001-2013 Comsenz Inc.

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