Requests 和 Scrapy 添加动态IP代理

简介: Requests 和 Scrapy 添加动态IP代理

Requests


import requests
# 要访问的目标页面
targetUrl = "http://test.abuyun.com/proxy.php"
#targetUrl = "http://proxy.abuyun.com/switch-ip"
#targetUrl = "http://proxy.abuyun.com/current-ip"
# 代理服务器
proxyHost = "proxy.abuyun.com"
proxyPort = "9000"
# 代理隧道验证信息
proxyUser = "H225506235A2NG0p"
proxyPass = "123456"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}
res = requests.get(targetUrl, proxies=proxies).text
print(res.text)
scrapy
import base64
from scrapy.downloadermiddlewares.httpproxy import HttpProxyMiddleware
# 代理服务器
proxyServer = "http://proxy.abuyun.com:9010"
# 隧道身份信息
proxyUser = "H225506235A2NG0p"
proxyPass = "123456"
proxyAuth = "Basic " + str(base64.b64encode(str(proxyUser + ":" + proxyPass).encode('utf-8')), encoding='utf-8')
class ProxyMiddleware(HttpProxyMiddleware):
    proxies = {}
    def __init__(self, auth_encoding='latin-1'):
        self.auth_encoding = auth_encoding
        self.proxies[proxyServer] = proxyUser + proxyPass
    def process_request(self, request, spider):
        request.meta["proxy"] = proxyServer
        request.headers["Proxy-Authorization"] = proxyAuth


目录
相关文章
|
6月前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
213 0
|
6月前
|
数据采集 JavaScript 前端开发
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫
深度剖析Selenium与Scrapy的黄金组合:实现动态网页爬虫
|
数据采集 JavaScript 前端开发
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
在传统的网络爬虫中,静态网页内容很容易抓取,但对于通过JavaScript加载的动态内容,通常需要借助浏览器进行模拟访问。Scrapy-Selenium是一款结合了Scrapy和Selenium功能的库,可以实现模拟浏览器行为,从而实现抓取动态内容的目的。
464 0
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
|
数据采集 Python
使用 asyncio 提升 Scrapy 爬虫框架的异步编程效能,并集成代理功能
异步编程在现代软件开发中扮演着越来越重要的角色,特别是在网络爬虫等需要处理大量 I/O 操作的场景中。本文将介绍 asyncio 这个强大的异步编程库,并探讨如何在 Scrapy 爬虫框架中充分利用 asyncio 提升爬虫的效率和灵活性。此外,还将介绍如何集成爬虫代理功能,进一步提高爬虫的效率和稳定性。
278 0
使用 asyncio 提升 Scrapy 爬虫框架的异步编程效能,并集成代理功能
|
Python Windows
python怎么安装第三方库,python国内镜像源,终于找到最全的安装教程啦;如Requests,Scrapy,NumPy,matplotlib,Pygame,Pyglet,Tkinter
python怎么安装第三方库,python国内镜像源,终于找到最全的安装教程啦;如Requests,Scrapy,NumPy,matplotlib,Pygame,Pyglet,Tkinter
1316 0
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
|
数据采集 Web App开发 存储
使用 Scrapy + Selenium 爬取动态渲染的页面
使用 Scrapy + Selenium 爬取动态渲染的页面
使用 Scrapy + Selenium 爬取动态渲染的页面
|
数据采集 JSON API
新手教程 | Python Scrapy框架HTTP代理的配置与调试
做过python爬虫的都知道,HTTP代理的设置时要在发送请求前设置好,那HTTP代理的逻辑点在哪里呢?实际上,只需要在Scrapy 的项目结构中添加就好
新手教程 | Python Scrapy框架HTTP代理的配置与调试
|
15天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
59 6
|
1月前
|
数据采集 中间件 开发者
Scrapy爬虫框架-自定义中间件
Scrapy爬虫框架-自定义中间件