Requests-HTML 抓取 <a> 标签图片 url (Requests-HTML, python)
Requests-HTML scrape <a> tag image url (Requests-HTML, python)
html 尝试从以下 webpage i have identified that the image url is in a tag with the class name item: Chrome inspect tool
中提取 cpu 图像
这是我的代码
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://au.pcpartpicker.com/product/jLF48d')
about = r.html.find('.item')
print(about)
这会打印
Element 'a' class=('item',) onclick='show_gallery(0, carousel_images);return false;'
但是当我将打印语句更改为:
print(about.absolute_links)
我收到以下错误:
AttributeError: 'list' object has no attribute 'absolute_links'
知道为什么会这样吗?我该如何解决?
如果您需要更多信息,请告诉我。
谢谢
r.html.find('.item')
returns 列表和列表没有属性 absolute_links
。由于 .item
可能不仅可以找到一个节点,因此 find()
方法会按预期为您提供一个列表。
用
获取单个节点会很方便
about = r.html.find('.item')[0]
但是,这不会为您提供 about.absolute_links
的 img link
,因为这里找到的元素是 <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'
您可以使用 BeautifulSoup 轻松抓取网页。
以下是抓取任何网页的步骤,
我们的计划应该是这样的:
- 使用requests库将页面的HTML加载到Python
- 设置BeautifulSoup处理HTML
- 找出哪些 HTML 标签包含所有标题
- 使用BeautifulSoup从HTML
中提取所有标题
- 很好地格式化它们
下面是代码-
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'])
html 尝试从以下 webpage i have identified that the image url is in a tag with the class name item: Chrome inspect tool
中提取 cpu 图像这是我的代码
from requests_html import HTMLSession
session = HTMLSession()
r = session.get('https://au.pcpartpicker.com/product/jLF48d')
about = r.html.find('.item')
print(about)
这会打印
Element 'a' class=('item',) onclick='show_gallery(0, carousel_images);return false;'
但是当我将打印语句更改为:
print(about.absolute_links)
我收到以下错误:
AttributeError: 'list' object has no attribute 'absolute_links'
知道为什么会这样吗?我该如何解决?
如果您需要更多信息,请告诉我。
谢谢
r.html.find('.item')
returns 列表和列表没有属性 absolute_links
。由于 .item
可能不仅可以找到一个节点,因此 find()
方法会按预期为您提供一个列表。
用
获取单个节点会很方便about = r.html.find('.item')[0]
但是,这不会为您提供 about.absolute_links
的 img link
,因为这里找到的元素是 <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'
您可以使用 BeautifulSoup 轻松抓取网页。
以下是抓取任何网页的步骤, 我们的计划应该是这样的:
- 使用requests库将页面的HTML加载到Python
- 设置BeautifulSoup处理HTML
- 找出哪些 HTML 标签包含所有标题
- 使用BeautifulSoup从HTML 中提取所有标题
- 很好地格式化它们
下面是代码-
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'])