Python使用lxml下载图像

2024-03-05

我需要在 HTML 代码中找到与此类似的图像:

...
<a href="/example/1"> 
    <img id="img" src="http://example.net/example.jpg" alt="Example" />
</a>
...

我正在使用 lxml 和请求。

这是代码:

import lxml
from lxml import html
import requests

url = 'http://www.example.com'

r = requests.get(url)
tree = lxml.html.fromstring(r.content)

img = tree.get_element_by_id("img")
f = open("image.jpg",'wb')
f.write(requests.get(img['src']).content)

但我收到错误:

Traceback (most recent call last):
  File "/Users/Name/Documents/Python/Example/Script.py", line 13, in <module>
    s = requests.get(img['src'])
  File "/Library/Python/2.6/site-packages/lxml/lxml.etree.pyx", line 1052, in lxml.etree._Element.__getitem__ (src/lxml/lxml.etree.c:38272)
TypeError: 'str' object cannot be interpreted as an index

建议?


try f.write(requests.get(img.attrib['src']).content)

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

Python使用lxml下载图像 的相关文章

随机推荐

  • 忽略 Azure Pipelines 中 .vdproj 项目的 NuGet 包还原

    我正在尝试针对 NET Framework 4 7 2 解决方案设置 Azure DevOps 构建管道 该解决方案包含Visual Studio 安装程序项目 https marketplace visualstudio com item
  • 没有关于服务器 API 调用的 AppSecret Proof 的文档吗?

    如果我启用该选项高级设置是给我BAD 请求或错误代码 400 如果我启用此选项 AppSecret Proof 参数所需的值是多少 如果您访问 github 并查看他们的 PHP SDKcode https github com faceb
  • PHP & MySQL 用户名提交问题

    我想允许用户随时将用户名字段留空 但我收到用户名错误消息Your username is unavailable 我该如何纠正这个问题 这是 PHP 代码 if isset POST username u SELECT FROM users
  • 松耦合和依赖注入变得疯狂

    随着我们的依赖注入框架的最新添加 春季的注释 创建 DI 管理的组件的边际成本似乎已经达到了一些关键的新阈值 虽然以前存在与 spring 相关的开销 大量的 XML 和额外的间接 但依赖注入似乎已经开始出现在许多模式所在的地方 他们躲在引
  • 访问过的兄弟姐妹的风格

    我的 HTML 看起来像这样 ul li a a a a a a li ul 我想将样式应用于访问链接的所有同级链接 我试过 ul gt li gt a visited a color green important 但什么也没发生 但 u
  • 使用 role="list" 和 role="listitem" 的原因是什么?

    使用以下代码有什么好处吗 ul li li li li li li ul 以下代码对于辅助技术是否具有相同的含义 ul li li li li li li ul 答案是肯定的 当使用正确的语义标记来构建文档时 辅助技术会很好地发挥作用 如果
  • 设置条形图上日期标签的格式

    我的问题 假设我有一个这样的系列 In 10 month series Out 10 2016 01 01 4880 2016 02 01 4579 2016 03 01 6726 2016 04 01 1778 2016 05 01 33
  • 计算 MarkerCluster 中的元素数量

    所以我的地图上有几家商店作为图层 我的所有商店都已添加到 MarkerCluster 并且该商店已添加到地图 一切正常 但我想在我的 viewPort 中显示有关商店的简短信息 对于通常的商店 层 这是第一次尝试 但集群组不起作用 我从这个
  • 由于我没有使用服务器,如何访问 Chrome 中的原始策略

    我想更改chrome中的origin策略 如何访问并修改它 非常感谢 您是在谈论放宽 file url 的同源策略吗 如果是这样 我强烈建议您在本地计算机上设置一个 Web 服务器并以这种方式进行开发 也就是说 你can使用以下命令行标志运
  • 反向传播中的梯度检查

    我正在尝试对具有 2 个单位输入层 2 个单位隐藏层和 1 个单位输出层的简单前馈神经网络实现梯度检查 我所做的如下 取所有层之间网络权重的每个权重 w 并使用 w EPSILON 然后使用 w EPSILON 执行前向传播 使用两个前馈传
  • 将 Console.WriteLine 从 WPF Windows 应用程序输出到实际控制台

    背景 我正在努力向现有 WPF 添加命令行和批处理功能Windows应用程序 当我在启动时检测到某些选项时 我会抑制窗口的出现 进行一些处理并立即退出 现在 因为没有 UI 我想向 stdout stderr 输出一些消息 考虑以下代码 n
  • 如何在CkEditor中右键单击添加附加菜单项?

    在CKeditor中 当我们右键单击图像时 会出现四个菜单项 cut copy paste image properties 我想再添加两个菜单项 test1 test2 gt subtest2 subtest3 test1 将是一个菜单
  • 在 rspec 中的控制器测试中使用 Rails 的“post”以及路由的范围和协议

    我有一个 Rails 项目 该项目在生产中从基本 url 的子目录中运行 我希望它在开发中以这种方式运行 以使开发和生产尽可能接近 我的路线文件设置如下 Foo Application routes draw do def draw rou
  • R 聚类-带有观察标签的轮廓

    我用以下方法进行层次聚类clusterR 中的包 使用silhouette函数 我可以获得树状图中任何给定高度 h 截止点的簇输出的轮廓图 run hierarchical clustering if require cluster ins
  • ResourceResolverFactory getServiceResourceResolver 在 AEM 6.1 中抛出异常

    我想向 AEM 写入一些数据 下面的代码在 AEM 6 0 中工作正常 但在 AEM 6 1 中不行 总是抛出登录异常 如下所示 获取服务的 CRX 用户时出现登录异常 writeService org apache sling api r
  • Android protobuf nano 使用

    我正在尝试使用 protobuf nano 从下面的 proto 文件生成 java 文件 我得到了一些关于如何继续进行的基本说明这个所以线程 https stackoverflow com q 22247951 1051783 我有这个原
  • 将结构与 OCMock 或 Hamcrest 一起使用

    我遇到了障碍 我想知道这里聪明的集体智慧是否可以提供帮助 在 ObjC CocoaTouch 中 我试图模拟一个接受结构参数并返回结构的对象 OCMock 咳出一个毛球 所以我尝试用 Hamcrest 匹配器包裹 不死 我正在测试的函数 方
  • 执行函数时避免连续的“if (...)”检查

    我有一个如下所示的函数 public Status execute Status status doSomething if status Status ABORTED status doSomethingElse if status St
  • 核心数据:我应该从父上下文中获取对象还是子上下文是否具有与父上下文相同的对象?

    我对父母 孩子的背景有点困惑ManagedObjectContext 当我设置子上下文并设置父上下文时 子上下文是否包含父上下文的所有对象 我正在使用库存Core Data在中创建的方法AppDelegate 但我改变了Concurrenc
  • Python使用lxml下载图像

    我需要在 HTML 代码中找到与此类似的图像 a href example 1 img src http example net example jpg alt Example a 我正在使用 lxml 和请求 这是代码 import lx