如何使用Socks5代理scrapy请求?

2023-12-25

问题:

怎样才能代理scrapy https://scrapy.org/请求与socks5?

我知道我可以使用polipo https://www.irif.fr/~jch/software/polipo/ to convert Socks代理至Http Proxy https://www.codevoila.com/post/16/convert-socks-proxy-to-http-proxy-using-polipo

But:

我想设置一个中间件或进行一些更改scrapy.Request

import scrapy

class BaseSpider(scrapy.Spider):
    """a base class that implements major functionality for crawling application"""
    start_urls = ('https://google.com')

    def start_requests(self):

        proxies = {
            'http': 'socks5://127.0.0.1:1080',
            'https': 'socks5://127.0.0.1:1080'
        }

        for url in self.start_urls:
            yield scrapy.Request(
                url=url,
                callback=self.parse,
                meta={'proxy': proxies} # proxy should be string not dict
            )

    def parse(self, response):
        # do ...
        pass

我应该分配什么proxies多变的?


有可能的。

Socks5 的 HTTP 代理

Install python 代理 https://github.com/qwj/python-proxy

$ pip3 install pproxy

Run

$ pproxy -l http://:8181 -r socks5://127.0.0.1:9150 -vv

使用 HTTP 代理的 Scrapy

创建中间件(middlewares.py)

class ProxyMiddleware(object):
    def process_request(self, request, spider):
        request.meta['proxy'] = "http://127.0.0.1:8181"

将其分配给DOWNLOADER_MIDDLEWARES (settings.py)

DOWNLOADER_MIDDLEWARES = {
    'PROJECT_NAME_HERE.middlewares.ProxyMiddleware': 350
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Socks5代理scrapy请求? 的相关文章

  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • 如何在 PyCharm 4.5.2 中使用 PyPy 作为标准/默认解释器?

    如何在 PyCharm 4 5 2 中使用 PyPy 作为标准 默认解释器 一切都在 Ubunutu 14 10 下运行 并且 pypy 已经安装 您可以在项目的设置下进行配置 这个官方文档直接涵盖了 https www jetbrains
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 更改 Altair 中的构面标题位置?

    如何将方面标题 在本例中为年份 移动到每个图的上方 默认值似乎位于图表的一侧 这可以轻易改变吗 import altair as alt from vega datasets import data df data seattle weat
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • python 中的 Johansen 协整检验

    我找不到任何有关在处理统计和时间序列分析 pandas 和 statsmodel 的 Python 模块中执行 Johansen 协整检验的功能的参考 有谁知道是否有一些代码可以执行时间序列之间的协整测试 现在 这已在 Python 的 s
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • 将文本注释到轴并对齐为圆

    我正在尝试在轴上绘制文本并将该文本与圆对齐 更准确地说 有一些具有不同坐标 x y 的点位于该圆内 并使用以下命令创建 ax scatter x y s 100 我想用圆圈连接并标记每个点 Cnameb 文本的坐标由 xp yp 定义 因此
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 为什么 smtplib.SMTP().sendmail 不发送 DKIM 签名邮件

    我已经在服务器上设置了 postfix 以及 openDKIM 当我跑步时 echo Testing setup mail s Postfix test my email address 我收到电子邮件 邮件标题中有一个DKIM Signa
  • Django 模型:如何使用 mixin 类来覆盖 django 模型以实现 save 等功能

    我想在每次保存模型之前验证值 所以 我必须重写保存函数 代码几乎是一样的 我想把它写在 mixin 类中 但失败了 我不知道如何写 super func 我英语不好 抱歉 class SyncableMixin object def sav
  • 如何在单元测试中使用 JSON 发送请求

    我的 Flask 应用程序中有在请求中使用 JSON 的代码 我可以像这样获取 JSON 对象 Request request get json 这一直工作得很好 但是我正在尝试使用 Python 的 unittest 模块创建单元测试 但
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐

  • 如何在第三次出现某些内容时分割字符串? [复制]

    这个问题在这里已经有答案了 我知道 爆炸 会分割字符串并将其转换为每次出现的数组 但是我如何在第三次出现时拆分并保留第三次出 现后的所有内容 实施例1 split explode abc def ghi State 32 1 14 16 5
  • 如何显示回合时间

    使用 SQL Server 2005 Table1 ID Intime Outtime 001 00 21 00 00 48 00 002 08 23 00 13 45 00 003 00 34 00 00 18 00 我需要显示时间 例如
  • 在 Rails3 的控制器上使用 number_with_ precision

    我想在控制器上使用这个辅助方法 有什么办法可以实现这个目标吗 可能不是一个好主意 但如果必须的话 请像这样包含助手 class WhateverController include ActionView Helpers NumberHelp
  • Eclipse Indigo - JPA 验证问题

    我正在使用 eclipse indigo 并且遇到 JPA 验证问题 我的命名查询是 from Person p where p name name 并且有这个错误 The query does not start with a valid
  • NodeJS + Mongo:如果不存在则插入,否则更新

    我的 mongodb 集合中有一个对象 其架构是 instruments A B C id oid 508510cd6461cc5f61000001 我的收藏可能有这样的对象 但也可能没有 我需要检查带有关键 仪器 的对象是否存在 请注意
  • 标准 Yii 2 中的活跃数据提供者

    我正在尝试使用适用于 Yii 1 控制器的数据提供程序按日期降序显示每个用户的数据库 DataProvider new CActiveDataProvider ModelName array criteria gt array condit
  • PHP - 如何创建换行符?

    在 PHP 中 我试图创建一个换行符 echo clientid echo echo lastname echo echo r n 然后 我在记事本中打开创建的文件 它会按字面意思写入换行符 1 John Doe r n 1 John Do
  • 如何在 SharePoint 2010 中启用文档搜索?

    我是否需要启用某些功能或运行索引或某些服务才能使文档出现在搜索结果中 是的 您需要配置索引作业 具体方法如下 安装系统后 您需要配置索引作业 导航至 CA 服务应用程序 搜索 您将看到指向您的内容源的链接 如果您进行编辑 您将有机会设置完整
  • 定义 gganimate 创建的 .gif 的大小 - 更改尺寸/分辨率

    我在用着gganimate创建一些我想要插入到报告中的 gif 文件 我可以保存文件并正常查看它们 但是 我发现显示的尺寸很小 480x480 有没有办法调整它 也许沿着height and width中的论点ggsave 我可以放大 但这
  • Firebase 和检索元素

    我正在尝试从 Firebase 读取 x 数量的元素 但我有一种感觉我误解了某些东西 DataSnapshot 返回正确的子项计数 但是当我尝试循环子项时 循环永远不会执行 注意 Kotlin 代码 fun list count Int c
  • 如何使用 VB.NET 中的 Access 数据库为 Dapper 中的每个表单创建基于用户角色的权限

    我想为每个表单创建基于角色的权限 我可以应用多简单的方法 请指导我 如果以所有者身份登录 则他可以访问所有表单 而如果以管理员身份登录 则无法使用更新按钮的主表单 并且有一个用户无权访问的消息框 管理员也可以显示 form2但button1
  • 在枚举时发生了变化' aria-label=''NSGenericException',原因:集合 <__NSArrayM: 0x7fabb400> 在枚举时发生了变化'> 'NSGenericException',原因:集合 <__NSArrayM: 0x7fabb400> 在枚举时发生了变化

    在我的iPhone应用程序中 我正在尝试使用 uicollectionView 实现一个图像库 当 Error Terminating app due to uncaught exception NSGenericException rea
  • 如何在pillow python中制作文字阴影效果?

    到目前为止我已经实现了this https i stack imgur com knONq jpg与枕头一起 但在某些照片上不太明显 所以我想在图像后面添加一些阴影 在文本中称为升力效果 例如this https i stack imgur
  • 创建简单类并从 cshtml 文件调用方法

    有人可以举一个简单的例子 用一个简单的方法创建一个简单的类 并从 webmatrix 中的 cshtml 文件调用该方法吗 我试图弄清楚 WebMatrix 是否可以以面向对象的方式使用 这将允许我利用 razor sytax 作为 MVC
  • 无法在Visual Studio 2017 Professional中运行单元测试

    无法在Visual Studio 2017 Professional中运行单元测试 运行选定的测试被禁用 我尝试重建测试项目以及解决方案 尝试重启VS 也许就能看到
  • R 按符号分割字符串

    例子 string abc 3g function string Solution gt abc 3g 是否知道如何按照示例所示的方式进行拆分 strsplit string split fixed TRUE 这是可能的答案 其他解决方案
  • Android 后台服务与 AlarmManager

    有人可以提供一些关于 Android 后台服务与警报管理器差异的简要介绍或更详细的细节吗 它们有何不同 在什么情况下我应该使用它们 我正在开发一个需要定期从 Web 服务下载数据的应用程序 该应用程序有几个模块 每个模块都有不同的间隔时间段
  • 使用 AngularJS 自旋转图像

    我正在尝试在 AngularJS 中创建一个自旋转图像查看器 抱歉 如果这个问题看起来很愚蠢 但我无法用 angularJS 的方式弄清楚 我知道我可以使用 jQuery 破解它 但我认为它应该单独在 AngularJS 中可行 HTML
  • 主键已经过时了吗?

    主键提供哪些独特的功能 虽然我用舌头紧紧地贴着脸颊来命名这个问题 但我的问题是严肃的 在任何火焰开始之前 我并不是说构建一个没有约束或引用完整性的数据库 然而 据我所知 SQL Server 可以取消primary key关键词 唯一索引涵
  • 如何使用Socks5代理scrapy请求?

    问题 怎样才能代理scrapy https scrapy org 请求与socks5 我知道我可以使用polipo https www irif fr jch software polipo to convert Socks代理至Http