html to attempt to extract the cpu image from the following webpage,我发现图像网址位于类名称为Chrome inspect tool
的标记中这是我的代码
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);返回false;'
但是,当我将打印语句更改为:
print(about.absolute_links)
我收到以下错误:
AttributeError:“列表”对象没有属性“ absolute_links”
有什么想法为什么会发生这种情况以及如何解决?
如果您需要更多信息,请告诉我。
谢谢
答案 0 :(得分:0)
r.html.find('.item')
返回一个列表,并且列表不具有属性absolute_links
。由于.item
可能不仅可以找到一个节点,因此find()
方法可以按预期方式提供一个列表。
使用
获取单个节点将很方便about = r.html.find('.item')[0]
但是,这不会为您提供about.absolute_links
的img链接
,因为此处找到的元素属于<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'
答案 1 :(得分:0)
您可以使用BeautifulSoup轻松地抓取网页。
以下是抓取任何网页的步骤, 我们的计划应如下:
下面是代码-
import requests
from bs4 import BeautifulSoup
base_url = 'https://au.pcpartpicker.com/product/jLF48d'
r = requests.get(base_url)
soup = BeautifulSoup(r.text)
for image_src in soup.find_all("img"):
print(image_src['src'])