如何在scrapy中获取原始start_url(重定向之前)

2024-03-14

我正在使用 Scrapy 来抓取一些页面。我从 Excel 工作表中获取 start_urls,并且需要将 url 保存在项目中。

class abc_Spider(BaseSpider):
   name = 'abc'
   allowed_domains = ['abc.com']         
   wb = xlrd.open_workbook(path + '/somefile.xlsx')
   wb.sheet_names()
   sh = wb.sheet_by_name(u'Sheet1')
   first_column = sh.col_values(15)
   start_urls = first_column
   handle_httpstatus_list = [404]

   def parse(self, response):
      item = abcspiderItem()
      item['url'] = response.url

问题是该 url 被重定向到其他某个 url(因此在响应 url 中给出了其他内容)。如何获取从 Excel 中获取的原始 url?


您可以在其中找到您需要的内容response.request.meta['redirect_urls'].

引用自docs http://doc.scrapy.org/en/latest/topics/downloader-middleware.html#std:reqmeta-redirect_urls:

请求经过的 URL(在重定向时)可以 可以在redirect_urls Request.meta 键中找到。

希望有帮助。

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

如何在scrapy中获取原始start_url(重定向之前) 的相关文章

  • 递归 lambda 表达式可能吗?

    我正在尝试编写一个调用自身的 lambda 表达式 但我似乎找不到任何语法 或者即使它是可能的 本质上我想将以下函数传输到以下 lambda 表达式中 我意识到这是一个愚蠢的应用程序 它只是添加 但我正在探索可以在 python 中使用 l
  • 如何在Python中流式传输和操作大数据文件

    我有一个相对较大 1 GB 的文本文件 我想通过跨类别求和来减小其大小 Geography AgeGroup Gender Race Count County1 1 M 1 12 County1 2 M 1 3 County1 2 M 2
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • 为什么删除临时文件时出现WindowsError?

    我创建了一个临时文件 向创建的文件添加了一些数据 已保存 然后尝试将其删除 但我越来越WindowsError 编辑后我已关闭该文件 如何检查哪个其他进程正在访问该文件 C Documents and Settings Administra
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • Python3.0 - 标记化和取消标记化

    我正在使用类似于以下简化脚本的内容来解析较大文件中的 python 片段 import io import tokenize src foo bar src bytes src encode src io BytesIO src src l
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • Django send_mail SMTPSenderRefused 530 与 gmail

    一段时间以来 我一直在尝试使用 Django 从我正在开发的网站接收电子邮件 现在 我还没有部署它 并且我正在使用Django开发服务器 我不知道这是否会影响它 这是我的 settings py 配置 EMAIL BACKEND djang
  • 将非 www 和非 http 重定向到 https

    昨天我在服务器上安装了 SSL 从那以后我无法访问某些页面 www example com amsterdam shoes example com 阿姆斯特丹 两者都不会重定向到 https 甚至不会重定向到 http www exampl
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • 使用 Keras np_utils.to_categorical 的问题

    我正在尝试将整数的 one hot 向量数组制作为 keras 将能够使用的 one hot 向量数组来拟合我的模型 这是代码的相关部分 Y train np hstack np asarray dataframe output vecto
  • Python:IndexError:修改代码后列表索引超出范围

    我的代码应该提供以下格式的输出 我尝试修改代码 但我破坏了它 import pandas as pd from bs4 import BeautifulSoup as bs from selenium import webdriver im
  • Anaconda 无法导入 ssl 但 Python 可以

    Anaconda 3 Jupyter笔记本无法导入ssl 但使用Atom终端导入ssl没有问题 我尝试在 Jupyter 笔记本中导入 ssl 但出现以下错误 C ProgramData Anaconda3 lib ssl py in
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • Django 与谷歌图表

    我试图让谷歌图表显示在我的页面上 但我不知道如何将值从 django 视图传递到 javascript 以便我可以绘制图表 姜戈代码 array Year Sales Expenses 2004 1000 400 2005 1170 460
  • TKinter 中的禁用/启用按钮

    我正在尝试制作一个像开关一样的按钮 所以如果我单击禁用按钮 它将禁用 按钮 有效 如果我再次按下它 它将再次启用它 我尝试了 if else 之类的东西 但没有成功 这是一个例子 from tkinter import fenster Tk
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que
  • 多个对象以某种方式相互干扰[原始版本]

    我有一个神经网络 NN 当应用于单个数据集时 它可以完美地工作 但是 如果我想在一组数据上运行神经网络 然后创建一个新的神经网络实例以在不同的数据集 甚至再次同一组数据 上运行 那么新实例将产生完全错误的预测 例如 对 XOR 模式进行训练

随机推荐

  • HTML 输入 - 以编程方式设置输入值时撤消历史记录丢失

    我有一个 HTML 输入 当用户在其中输入内容时 我设置了 输入 事件来处理将输入更新为用户输入内容的过滤版本 以及更新选择开始和选择结束以实现流畅的用户体验 为了达到适当的效果 这种情况会不断发生 然而 我注意到 每当 JS 通过设置输入
  • 在这种情况下为什么会说“位图无法解析为类型”?

    我收到这个错误 在我的情况下我该如何解决这个问题 Bitmap cannot be resolved to a type 发生错误的行 public void onPageStarted WebView view String url Bi
  • 在 Eclipse 中输入 PHP 时数组初始值设定项缩进错误

    我在 首选项 gt PHP gt 代码样式 gt 格式化程序 gt 换行 上设置了首选数组初始值设定项缩进 但在键入数组初始值设定项缩进时 这是错误的 arr array ENTER CURSOR 当我期待时 arr array ENTER
  • 从 xhr.responseText 恢复 ArrayBuffer

    我需要从向我发送 Base64 答案的 http 请求中获取数组缓冲区 对于这个请求 我无法使用XMLHttpRequest responseType arraybuffer 我从该请求中得到的响应已通读xhr responseText 因
  • Windows 通知服务:尝试在 PHP 中创建 Toast 通知时出现 401 无效令牌

    我一直在尝试向模拟器发送 Toast 通知 我创建了 Windows Phone 8 1 应用程序并将其与商店中的应用程序关联 之后 我设法获取了必须用来调用通道 URI 的访问令牌 当我尝试使用通道 URI 和访问令牌发送 Toast 通
  • XSD 验证错误:找不到元素“soapenv:Envelope”的声明

    我尝试使用以下命令根据 XSD 验证我的 XMLhttp www freeformatter com xml validator xsd html http www freeformatter com xml validator xsd h
  • rgdal 不会安装在 AWS RStudio AMI 上

    我已成功启动最新的 RStudio AWS EC2 实例 louisaslett com RStudio 1 1383 R 3 4 2 ubuntu 16 04 LTS 64 在这种情况下 R 的运行基本符合预期 我可以安装和打开许多软件包
  • Delphi 视觉组件 - 远离 TFrame 基础? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 我应该如何在 Scala 和 Anorm 中使用 MayErr[IntegrityConstraintViolation,Int]?

    I use Anorm http scala playframework org documentation scala 0 9 1 anorm进行数据库查询 当我做一个executeUpdate 我应该如何进行正确的错误处理 它有返回类型
  • 伪代码归纳证明

    我不太明白如何在伪代码上使用归纳证明 它的工作方式似乎与在数学方程上使用它的方式不同 我正在尝试计算数组中可被 k 整除的整数的数量 Algorithm divisibleByK a k Input array a of n size nu
  • Python按顺序执行线程

    我有以下代码 导入线程 def send to server lst Some logic to send the list to the server while 1 lst for i in range 1000 lst append
  • Ruby 和 MySQL UTF-8 字符

    我正在切换一个Sinatra http www sinatrarb com从 SQLite3 到 MySQL 的应用程序 由于某种我无法理解的原因 当我使用 Ruby 从 MySQL 中提取数据时Sequel https rubygems
  • Angular-CLI 和 Bootstrap 4

    我使用 Angular 2 迈出了第一步 特别是我使用 Angular cli 官方工具来创建新项目 我以这种方式创建了一个新项目 ng new my project name 该项目已正确创建 之后我想安装 bootstrap 4 并按照
  • 反应流中的自定义节点;创建节点后将附加数据保存到节点

    这是我第一次介绍反应流 我希望创建一个自定义节点 创建后 用户可以在节点中输入信息并保存 显示它 从反应流自定义节点的文档 https reactflow dev docs guides custom nodes 他们有一个类似的例子 他们
  • Android Studio 中外部剥离共享库的本机调试

    我已经剥离和未剥离共享库 如何在使用 LLDB 在 Android Studio 中调试剥离时加载符号 我可以成功调试位于 jniLibs 文件夹中的完整未剥离的 so 但它太大了 部署时间太长 在调试配置中指定符号目录不适用于标准和实验性
  • 在android中实现Socket.io的最佳方式

    我计划通过以下方式在 android 中实现 Socket iothis https github com socketio socket io 基于聊天的应用程序的库 据我了解 图书馆似乎相当不错 我想知道如何维护single整个应用程序
  • 新的 PendingIntent 更新当前意图

    我试图在一段时间间隔后显示不同的通知 但发生的情况是它更新了当前的通知PendingIntent结果 即使我触发 4 5 个待处理的意图请求 我也只能收到一个通知 单击按钮后我会执行以下操作 try adapter OpenDB int i
  • 反复出现的成本难题

    我经常发现自己必须定义一个函数的两个版本 以便拥有一个 const 版本和一个非常量版本 通常是 getter 但并非总是如此 两者的区别仅在于 其中一个的输入和输出是常量 而另一个的输入和输出是非常量 该功能的核心 真正的工作 是相同的
  • 跨线程共享具有特征对象的结构作为属性

    我有下面的代码 有了注释掉的部分 它就可以工作了 当我取消注释这些部分时 它不再编译 如何调整注释部分以使它们工作 即我想让线程同时访问表达式树 当我尝试时 编译器会开始出现有关线程安全的错误 我阅读了 Rust 书籍并了解 C C 但还不
  • 如何在scrapy中获取原始start_url(重定向之前)

    我正在使用 Scrapy 来抓取一些页面 我从 Excel 工作表中获取 start urls 并且需要将 url 保存在项目中 class abc Spider BaseSpider name abc allowed domains ab