为什么我不能从XPath查询中检索URL?

Abra_878

我有以下脚本,用于查找页面上的图像并下载:

from lxml import html
import urllib
import urllib2

url = 'http://www.example.com/pages/page0987/'
usock = urllib2.urlopen(url)
data = usock.read()
usock.close()

tree = html.fromstring(data)

src = tree.xpath('/html/body/div[2]/div[4]/div/div/img/@src')
urllib.urlretrieve(src, "local-filename.jpg")

我得到一个网页,访问<img>此页面上的一个元素(我可以使用XPath查询来找到它),然后得到src这个元素的一个属性,然后尝试使用该url从源代码下载图像。

但是出了点问题;Python说:

Traceback (most recent call last):
  File "C:\Users\Sergey\Desktop\dlImg.py", line 15, in <module>
    urllib.urlretrieve(src, "local-filename.jpg")
  File "C:\Python27\lib\urllib.py", line 94, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "C:\Python27\lib\urllib.py", line 228, in retrieve
    url = unwrap(toBytes(url))
  File "C:\Python27\lib\urllib.py", line 1060, in unwrap
    url = url.strip()
AttributeError: 'list' object has no attribute 'strip'
马丁·彼得斯(Martijn Pieters)

您的tree.xpath()查询返回一个列表,而不是单个匹配项。至少第一项的索引:

urllib.urlretrieve(src[0], "local-filename.jpg")

或在结果上使用循环。考虑到该列表也可以为空(找不到匹配项)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能从CSS文件中获得CSS类智能感知?

来自分类Dev

为什么我不能从异步代码中捕获异常?

来自分类Dev

我为什么不能从情节提要中创建IBAction

来自分类Dev

为什么我不能从事务回滚中恢复?

来自分类Dev

(为什么)我不能从生成器中抛出异常吗?

来自分类Dev

为什么我的javascript window.open函数不能从数组中读取URL,而不能读取宽度和高度参数?

来自分类Dev

为什么我不能从Kadane算法的haskell实现中删除Ord Typeclass?

来自分类Dev

为什么我不能从集合中获取项目并将其存储在变量中?

来自分类Dev

为什么我不能从某些处理器异常中返回?玩具内核开发

来自分类Dev

为什么我不能从JavaCard中删除未使用的软件包?

来自分类Dev

为什么我不能从远程分支中拉出?

来自分类Dev

为什么我不能从其基础数据容器中增加因子?

来自分类Dev

为什么我不能从Google AppScript for Sheets的侧栏中调用服务器功能?

来自分类Dev

为什么我不能从列表中删除所需的元素

来自分类Dev

为什么我不能从该表中删除记录?

来自分类Dev

为什么我不能从我的SSD引导?

来自分类Dev

为什么我不能从javascript中删除表中的一行?

来自分类Dev

为什么我不能从我的活动中调用此服务?

来自分类Dev

为什么我不能从C中的函数传回链表?

来自分类Dev

为什么我不能从我的Json文件中检索数据?

来自分类Dev

为什么我不能从远程分支中拉出?

来自分类Dev

为什么我不能从开关内的变量中减去?

来自分类Dev

为什么我不能从 sqlite 数据库中检索到我期望的数据?

来自分类Dev

为什么我不能从 PHP 中的字符串中删除 HTML 标签

来自分类Dev

为什么我不能从我用泛型创建的类中调用方法?爪哇

来自分类Dev

为什么我不能从我用泛型创建的类中调用方法?爪哇

来自分类Dev

为什么我不能从外部查询的子查询中访问定义为“选择 1”的字段?

来自分类Dev

为什么我不能从我的 sqlite3 数据库中删除?

来自分类Dev

为什么我的文件阅读器不能从 xmlhttprequest 读取这个数据 url

Related 相关文章

  1. 1

    为什么我不能从CSS文件中获得CSS类智能感知?

  2. 2

    为什么我不能从异步代码中捕获异常?

  3. 3

    我为什么不能从情节提要中创建IBAction

  4. 4

    为什么我不能从事务回滚中恢复?

  5. 5

    (为什么)我不能从生成器中抛出异常吗?

  6. 6

    为什么我的javascript window.open函数不能从数组中读取URL,而不能读取宽度和高度参数?

  7. 7

    为什么我不能从Kadane算法的haskell实现中删除Ord Typeclass?

  8. 8

    为什么我不能从集合中获取项目并将其存储在变量中?

  9. 9

    为什么我不能从某些处理器异常中返回?玩具内核开发

  10. 10

    为什么我不能从JavaCard中删除未使用的软件包?

  11. 11

    为什么我不能从远程分支中拉出?

  12. 12

    为什么我不能从其基础数据容器中增加因子?

  13. 13

    为什么我不能从Google AppScript for Sheets的侧栏中调用服务器功能?

  14. 14

    为什么我不能从列表中删除所需的元素

  15. 15

    为什么我不能从该表中删除记录?

  16. 16

    为什么我不能从我的SSD引导?

  17. 17

    为什么我不能从javascript中删除表中的一行?

  18. 18

    为什么我不能从我的活动中调用此服务?

  19. 19

    为什么我不能从C中的函数传回链表?

  20. 20

    为什么我不能从我的Json文件中检索数据?

  21. 21

    为什么我不能从远程分支中拉出?

  22. 22

    为什么我不能从开关内的变量中减去?

  23. 23

    为什么我不能从 sqlite 数据库中检索到我期望的数据?

  24. 24

    为什么我不能从 PHP 中的字符串中删除 HTML 标签

  25. 25

    为什么我不能从我用泛型创建的类中调用方法?爪哇

  26. 26

    为什么我不能从我用泛型创建的类中调用方法?爪哇

  27. 27

    为什么我不能从外部查询的子查询中访问定义为“选择 1”的字段?

  28. 28

    为什么我不能从我的 sqlite3 数据库中删除?

  29. 29

    为什么我的文件阅读器不能从 xmlhttprequest 读取这个数据 url

热门标签

归档