首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抓取有时可见,但有时不可见的内容

抓取有时可见,但有时不可见的内容
EN

Stack Overflow用户
提问于 2018-04-20 10:10:30
回答 1查看 506关注 0票数 0

我正在从zappos.com上抓取一些信息,特别是显示查看当前项目的客户也查看过的详细信息页面的一部分。

这就是一个这样的项目列表:https://www.zappos.com/p/chaco-marshall-tartan-rust/product/8982802/color/725500

问题是,我发现我正在抓取的部分会立即出现在一些项目上,但在其他项目上,它只会在我刷新页面两三次后才会出现。

我正在使用scrapy进行抓取,并使用splash进行渲染。

代码语言:javascript
复制
import scrapy
import re
from scrapy_splash import SplashRequest

class Scrapys(scrapy.Spider):
    name = "sqs"
    start_urls = ["https://www.zappos.com","https://www.zappos.com/marty/men-shoes/CK_XAcABAuICAgEY.zso"]
    def start_requests(self):
        for url in self.start_urls:
            yield SplashRequest(url, self.parse,
                endpoint='render.html',
                args={'wait': 0.5},
            )

    def parse(self, response):
        links = response.css("div._1Mgpu")
        for link in links:
            url = 'https://www.zappos.com' + link.css("a::attr(href)").extract_first()
            yield SplashRequest(url, callback=self.parse_attr,
                endpoint='render.html',
                args={'wait': 10},
            )


    def parse_attr(self, response):
        alsoviewimg = response.css("div._18jp0 div._3Olkk div.QDcUX div.slider div.slider-frame ul.slider-list li.slider-slide a img").extract()

视图is也是我从“查看此项目的客户也查看过”部分中提取的元素之一。我已经测试了这个元素和其他元素的提取,所有这些元素都在带有splash渲染的scrapy shell中,以获得动态内容,它可以很好地提取内容,但是在爬行器中,它很少获得任何命中。

有没有什么我可以设置的,让它加载几次页面来获取内容?或者我还遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-20 10:13:32

您应该检查您要查找的元素是否存在。如果没有,请重新加载页面。

我会研究为什么刷新页面需要多次尝试,您也许能够在没有这种特别的多次刷新解决方案的情况下解决这个问题。

Scrapy How to check if certain class exists in a given element

此链接说明如何查看类是否存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49932855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档