我正在尝试在类似这样的网址上提取产品评论
https://www.namastevaporizers.com/products/mighty-vaporizer
我从蜘蛛那里提取的东西在页面上什么都没有,但是评论中什么也没有,我认为这是因为评论加载的方式不同,但是不幸的是,这是我对松散的知识的终结。有人可以帮我吗?
这是我的蜘蛛
import scrapy
from scrapy.loader import ItemLoader
from scrapy.loader.processors import TakeFirst, MapCompose
from scrapy.spiders import Spider
from Namaste.items import NPPItem
class NPP(Spider):
name = 'Product_Pages'
start_urls = ['https://www.namastevaporizers.com/products/mighty-vaporizer'
def parse(self, response):
item_loader = ItemLoader(item=NPPItem(), response=response)
item_loader.add_css("Z_reviews", "div.yotpo-user-name") # gets nothing
item_loader.add_css("Z_reviews", "div.content-title") # gets nothing
item_loader.add_css("Z_reviews", "div.content-review") # gets nothing
item_loader.add_css("Z_reviews", "div.yotpo") # gets some data but missing most stuff, this is the entire yotpo content wrapper
item_loader.add_value("AAE_source_url", response.url) #works fine
return item_loader.load_item()
答案 0 :(得分:0)
此网站上的评论是由JS加载的,因此您需要像Chrome一样伪造请求
按照以下步骤操作,您将获得结果
在shell中执行curl,如果成功,则下一步是解析curl,并在python代码中伪造它(curl实际上在此站点中有效,我尝试过)