# -*- coding: UTF-8 -*-'''
Python 3.x
无忧代理IP Created on 2018年05月11日
描述:本DEMO演示了使用爬虫(动态)代理IP请求网页的过程,代码使用了多线程
逻辑:每隔5秒从API接口获取IP,对于每一个IP开启一个线程去抓取网页源码
注意:需先安装socks模块 pip3 install 'requests[socks]'
@author: www.data5u.com
'''
import requests;
import time;
import threading;
import urllib3;ips = [];# 爬数据的线程类
class CrawlThread(threading.Thread):def __init__(self,proxyip):super(CrawlThread, self).__init__();self.proxyip=proxyip;def run(self):# 开始计时start = time.time();#消除关闭证书验证的警告urllib3.disable_warnings();#使用代理IP请求网址,注意第三个参数verify=False意思是跳过SSL验证(可以防止报SSL错误)html=requests.get(url=targetUrl, proxies={"http" : 'socks5://user:password@' + self.proxyip, "https" : 'socks5://user:password@' + self.proxyip}, verify=False, timeout=15).content.decode()# 结束计时end = time.time();# 输出内容print(threading.current_thread().getName() +  "使用代理IP, 耗时 " + str(end - start) + "毫秒 " + self.proxyip + " 获取到如下HTML内容:\n" + html + "\n*************")# 获取代理IP的线程类
class GetIpThread(threading.Thread):def __init__(self,fetchSecond):super(GetIpThread, self).__init__();self.fetchSecond=fetchSecond;def run(self):global ips;while True:# 获取IP列表res = requests.get(apiUrl).content.decode()# 按照\n分割获取到的IPips = res.split('\n');# 利用每一个IPfor proxyip in ips:if proxyip.strip():# 开启一个线程CrawlThread(proxyip).start();# 休眠time.sleep(self.fetchSecond);if __name__ == '__main__':# 这里填写无忧代理IP提供的API订单号(请到用户中心获取)order = "请把这里替换为您的IP提取码";# 获取IP的API接口apiUrl = "http://dynamic.goubanjia.com/dynamic/get/" + order + ".html";# 要抓取的目标网站地址targetUrl = "http://pv.sohu.com/cityjson?ie=utf-8";# 获取IP时间间隔,建议为5秒fetchSecond = 5;# 开始自动获取IPGetIpThread(fetchSecond).start();

爬虫使用代理socks相关推荐

  1. 爬虫篇——代理IP爬取备用及存储

    爬虫篇--代理IP爬取备用及存储 代码 代码 本文通过抓取免费的高匿IP代理,将其写入列表并保存为json格式文件,且将代码进行了封装,方便以后抓取数据时动态的更新handle的IP地址,从一方面避免 ...

  2. 爬虫ip代理对高匿代理ip的重要性

    对于爬虫来说,在听到ip代理的时候,听得最多的莫过于透明代理.匿名代理.高匿代理这几个词了,那么分别是什么意思呢?互相之间有什么样的区别呢? 为什么说爬虫ip代理一定要使用高匿代理呢? 带着这些问题, ...

  3. 【完美解决】爬虫伪装代理IP方案

    爬虫伪装代理IP 爬虫程序频繁访问某网站,很容易触发网站的保护机制,造成无法访问.本文将解决这一问题. 首先要伪装请求头,request默认是python-requests,emmm,这不是找事嘛,首 ...

  4. 在Scrapy中使用爬虫动态代理IP

    本文介绍如何在Scrapy中使用无忧代理(www.data5u.com)的爬虫动态代理IP,以及如何设置User-Agent. 动态转发参考https://blog.csdn.net/u0109787 ...

  5. 利用多线程爬虫搭建代理ip池的两种方法(含源码)

    搭建爬虫代理ip池的两种方法(含源码) 前言 一.ip池是什么? 二.爬取原理 三.使用步骤 方法一 爬取网站https://www.kuaidaili.com/ 验证 存取到mysql 方法二 爬取 ...

  6. 使用爬虫实现代理IP池之放弃篇

    2019独角兽企业重金招聘Python工程师标准>>> 啥叫代理IP以及代理IP池 概念上的东西网上搜索一下就好了,这里简单科普一下(大部分会读这篇文章的人,基本是不需要我来科普的) ...

  7. python爬虫设置代理ip池

    在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,那如何解决呢?使用代 ...

  8. 爬虫ip代理对高匿代理ip的必要性

    对于爬虫来说,在听到ip代理的时候,听得最多的莫过于透明代理.匿名代理.高匿代理这几个词了,那么分别是什么意思呢?互相之间有什么样的区别呢? 为什么说爬虫ip代理一定要使用高匿代理呢? 带着这些问题, ...

  9. 分享推荐几家适合爬虫的代理ip(飞蚁代理、阿布云、亿洲网络)

    多年的爬虫总结,如今要改行了,分享一下我觉得好用的几家爬虫IP代理. 飞蚁代理:http://www.feiyiproxy.com 阿布云:https://www.abuyun.com/ 亿洲网络:h ...

  10. Python爬虫添加代理IP池(新手)

    给爬虫添加代理IP池 我们在运行爬虫的过程中由于请求次数过多经常会遇到被封IP的情况,这时就需要用到代理IP来解决.代理IP的原理,简单来说就像在本机和web服务器之间开一个中转站,把本机的请求交给代 ...

最新文章

  1. 牛津大佬|计算机科学方向一对一科研项目
  2. Linux下的man命令
  3. 【SQL】IS NULL and = NULL 在 sql server 中的区别
  4. 1048:有一门课不及格的学生
  5. Linux进程命令PS用法笔记
  6. js 解除网页右键菜单被禁用
  7. 神啊,6小时30分钟,完成想要的所有Lync测试
  8. 教你手工mysql拆库
  9. 设计模式(一)六大原则
  10. 优化理论11---- Zoutendijk可行方向法、非线性约束情形、ε起作用约束可行方向法、Frank-Wolfe 方法
  11. iptables 简介
  12. 【Codeforces】【Gym - 101234I】Tree Game【分类枚举】
  13. 海思和展讯给中国芯片业界带来信心和希望,或成为下一个芯片巨头
  14. 基于SpringBoot的救援物资管理系统
  15. 如何做好企业绩效管理?
  16. 随机过程之基本概念(一)
  17. 阳光事业必须在阳光下进行
  18. mysql主从配置duxi_​WordPress大前端主题DUX 5.1
  19. 超级账本学习之三:创建超级账本网络
  20. 图书馆座位预约系统,图书馆座位管理系统,图书馆座位预约毕业设计

热门文章

  1. python单因素方差分析_Python数据科学:方差分析
  2. X Window 用户指南
  3. 单因素方差分析 OR 重复测量方差分析
  4. FIsh论坛《零基础入门学习Python》| 第012讲 课后测试题及答案
  5. word文档字间距怎么调?拯救死气沉沉的文字仅需这样…
  6. 连线杂志:《愤怒的小鸟》长成记
  7. Android Studio入门到精通
  8. 浏览器的语音识别功能
  9. 笔记本电脑插入耳机只能外放,耳机没声音
  10. PyQt5之Drag拖曳功能