首页 > 解决方案 > Requests-HTML 抓取标签图片 url (Requests-HTML, python)

问题描述

html 尝试从以下网页中提取cpu图像

这是我的代码

from requests_html import HTMLSession
session = HTMLSession()

r = session.get('https://au.pcpartpicker.com/product/jLF48d')

about = r.html.find('.item')

print(about)

这打印

元素 'a' class=('item',) onclick='show_gallery(0, carousel_images);return false;'

但是,当我将打印语句更改为:

print(about.absolute_links)

我收到以下错误:

AttributeError:“列表”对象没有属性“绝对链接”

知道为什么会发生这种情况以及我该如何解决?

如果您需要更多信息,请告诉我。

谢谢

标签: pythonhtmlpython-3.xpython-requests-html

解决方案


r.html.find('.item')返回一个列表并且列表没有属性absolute_links。由于可能不仅可以找到一个节点.item,因此find()方法会按预期为您提供一个列表。

获得单个节点将很方便

about = r.html.find('.item')[0]

但是,这不会为您提供 img 链接about.absolute_links ,因为此处找到的元素是 of <a>,而不是<img>

about = r.html.find('.item')[0]
img = about.xpath('//img')[0]
img.attrs['src'] # => '//cdn.pcpartpicker.com/static/forever/images/product/55aea2dd64e2e3a3e3b1d678048d8d76.256p.jpg'

推荐阅读