【发布时间】:2020-04-19 12:48:00
【问题描述】:
# -*- coding: utf-8 -*-
import scrapy
from ..items import LowesspiderItem
class LowesSpider(scrapy.Spider):
name = 'lowes'
#allowed_domains = ['lowes.com']
start_urls = ['https://www.lowes.com/pd/ZLINE-KITCHEN-BATH-Ducted-Red-Matte-Wall-Mounted-Range-Hood-Common-42-Inch-Actual-42-in/1001440644']
def parse(self, response):
items = response.css('.grid-container')
for product in items:
item = LowesspiderItem()
#get product price
productPrice = product.css('.art-pd-price::text').getall()
item["productPrice"] = productPrice
yield item
在查看网站的 html 时,我仍然对如何找到正确的选择器感到有些困惑。我通过滚动到顶部并找到所有突出显示的项目来找到顶级项目。然后我使用 google chrome 上的 CSS 选择器扩展来查找我想要抓取的特定元素。该程序应该给我回报,但我没有产生任何结果。任何帮助或指导将不胜感激!
【问题讨论】:
-
现在大多数网站都在使用前端框架,这意味着你可以 * 使用 splash, * 从一些 json 中提取,或者 * 切换到 selenium / puppeteer
-
@pguardiario 也不会拉选择器,我为另一个网站做了那个,蜘蛛工作正常
-
不,因为如果您查看页面源代码,您会发现它们并不存在。
-
带有 json.loads
-
基本不信任元素面板,你得看页面源码。