Python爬虫-Proxy代理的使用

 1 ‘‘‘
 2 构建代理集群/队列
 3 每次访问服务器,随机抽取一个代理
 4 抽取可以使用 random.choice
 5
 6 分析步骤:
 7 1. 构建代理群
 8 2. 每次访问,随机选取代理并执行
 9 ‘‘‘
10
11
12 from urllib import request, error
13
14
15 # 使用代理步骤
16 # 1. 设置代理地址
17 proxy_list = [
18     # 列表中存放的是dict类型的元素
19     {"http": "101.50.1.2:80"},
20     {"http": "58.240.172.110:3128"},
21     {"http": "124.193.51.249:3128"},
22     {"http": "120.199.64.163:8081"}
23 ]
24
25 # 2. 创建ProxyHandler
26 proxy_handler_list = []
27 for proxy in proxy_list:
28     proxy_handler = request.ProxyHandler(proxy)
29     proxy_handler_list.append(proxy_handler)
30 # 3. 创建Opener
31 opener_list = []
32 for proxy_handler in proxy_handler_list:
33     opener = request.build_opener(proxy_handler)
34     opener_list.append(opener)
35
36 import random
37
38 url = "http://www.baidu.com"
39 # 现在如果访问url,则使用代理服务器
40 try:
41     # 4. 安装Opener
42     opener = random.choice(opener_list)
43     request.install_opener( opener)
44
45     rsp = request.urlopen(url)
46     html = rsp.read().decode()
47     print(html)
48 except error.URLError as e:
49     print(e)
50 except Exception as e:
51     print(e)

原文地址:https://www.cnblogs.com/xuxaut-558/p/10086346.html

时间: 2024-10-09 13:25:31

Python爬虫-Proxy代理的使用的相关文章

快速构建Python爬虫IP代理池服务

在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来.不过呢,闲暇时间手痒,所以就想利用一些免费的资源搞一个简单的代理池服务. 1.问题 代理IP从何而来? 刚自学爬虫的时候没有代理IP就去西刺.快代理之类有免费代理的网站去爬,还是有个别代理能用.当然,如果你有更好的代理接口也可以自己接入. 免费代理的采集也很简单,无非就是:访问页面页面 —> 正则/xpath提取

python 爬虫proxy,BeautifulSoup+requests+mysql 爬取样例

实现思路: 由于反扒机制,所以需要做代理切换,去爬取,内容通过BeautifulSoup去解析,最后入mysql库 1.在西刺免费代理网获取代理ip,并自我检测是否可用 2.根据获取的可用代理ip去发送requests模块的请求,带上代理 3.内容入库 注:日志模块在上一篇随笔 下面附上代码 1.可用代理获取 # -*- coding: utf-8 -*- import random import time import requests from bs4 import BeautifulSou

python爬虫使用代理

from urllib import request url = 'http://httpbin.org/ip' #使用代理 #1.使用ProxyHandler构建一个hander handler = request.ProxyHandler({ "HTTP":"182.35.84.11:9999" }) #2.使用上面的hander构建一个opener opener = request.build_opener(handler) #3.使用opener去发送一个请

Python爬虫连载10-Requests模块、Proxy代理

一.Request模块 1.HTTP for Humans,更简洁更友好 2.继承了urllib所有的特征 3.底层使用的是urllib3 4.?开源地址:https://github.com/requests/requests 5.中文文档?:https://requests.readthedocs.io/zh_CN/latest/ 6.先安装这个包:pip install requests 7.get请求 (1)requests.get() (2)requests.request("get&

Python 爬虫入门(二)—— IP代理使用

上一节,大概讲述了Python 爬虫的编写流程, 从这节开始主要解决如何突破在爬取的过程中限制.比如,IP.JS.验证码等.这节主要讲利用IP代理突破. 1.关于代理 简单的说,代理就是换个身份.网络中的身份之一就是IP.比如,我们身在墙内,想要访问google.u2b.fb等,直接访问是404,所以要换个不会被墙的IP,比如国外的IP等.这个就是简单的代理. 在爬虫中,有些网站可能为了防止爬虫或者DDOS等,会记录每个IP的访问次数,比如,有些网站允许一个IP在1s(或者别的)只能访问10次等

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_useragent库,伪装请求头 from fake_useragent import UserAgent ua = UserAgent() # ie浏览器的user agent print(ua.ie) # opera浏览器 print(ua.opera) # chrome浏览器 print(ua.chro

小白学 Python 爬虫(30):代理基础

人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基

python扫描proxy并获取可用代理ip列表

mac或linux下可以work的代码如下: # coding=utf-8 import requests import re from bs4 import BeautifulSoup as bs import Queue import threading import random import re headers_useragents = [] headers_referers = [] headers_referers.append('http://www.google.com/?q=

python爬虫-代理池的维护

简介 我们可以从网上或者付费获取大量代理,但是这其中很多依然不可用,那么搭建高效的代理池,对代理ip进行筛选是十分必要的 准备工作: 安装Redis数据库,还需要安装aiohttp.requests.redis-py.pyquery.Flask库,安装流程请百度自行查询 由于文件内容较多,所以就不一一讲解了,直接创建一个Python Package模块包,下次直接调用 创建一个Python Package包,取名为proxypool 一.创建一个setting.py文件,用于存放配置信息.代码如