当前位置: 首页 > 面试题库 >

使用python-Scrapy抓取动态内容

哈翔
2023-03-14
问题内容

免责声明:我在StackOverflow上看到过许多其他类似的帖子,并尝试以相同的方式进行操作,但是它们似乎在此网站上不起作用。

我正在使用Python-Scrapy从koovs.com获取数据。

但是,我无法获得动态生成的产品尺寸。具体来说,如果有人可以引导我从此链接的下拉菜单中获取“不可用”尺寸标签,我将不胜感激。

我可以静态获取尺寸列表,但这样做只能得到尺寸列表,但不能获得其中的一个。


问题答案:

你也可以使用ScrapyJS(无需selenium使用真正的浏览器)解决该问题:

该库使用Splash提供了Scrapy + JavaScript集成。

按照安装说明SplashScrapyJS,启动飞溅泊坞窗容器:

$ docker run -p 8050:8050 scrapinghub/splash

将以下设置放入settings.py

SPLASH_URL = 'http://192.168.59.103:8050' 

DOWNLOADER_MIDDLEWARES = {
    'scrapyjs.SplashMiddleware': 725,
}

DUPEFILTER_CLASS = 'scrapyjs.SplashAwareDupeFilter'

这是你的示例蜘蛛,它可以查看尺寸可用性信息:

# -*- coding: utf-8 -*-
import scrapy


class ExampleSpider(scrapy.Spider):
    name = "example"
    allowed_domains = ["koovs.com"]
    start_urls = (
        'http://www.koovs.com/only-onlall-stripe-ls-shirt-59554.html?from=category-651&skuid=236376',
    )

    def start_requests(self):
        for url in self.start_urls:
            yield scrapy.Request(url, self.parse, meta={
                'splash': {
                    'endpoint': 'render.html',
                    'args': {'wait': 0.5}
                }
            })

    def parse(self, response):
        for option in response.css("div.select-size select.sizeOptions option")[1:]:
            print option.xpath("text()").extract()

这是控制台上打印的内容:

[u'S / 34 -- Not Available']
[u'L / 40 -- Not Available']
[u'L / 42']


 类似资料:
  • 我想使用Python在这样的网页上抓取“你在寻找这些作者吗”框的内容:http://academic.research.microsoft.com/Search?query=lander 不幸的是,该框的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者我可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有这样的运气。。。

  • 问题内容: 我想使用Python在这样的网页上抓取“正在寻找这些作者:”框中的内容:http : //academic.research.microsoft.com/Search?query=lander 不幸的是,盒子的内容是由JavaScript动态加载的。通常在这种情况下,我可以阅读Javascript来了解发生了什么,或者可以使用Firebug之类的浏览器扩展来了解动态内容的来源。这次没有

  • 问题内容: 我最近一直在学习Python,并全力以赴来构建网络抓取工具。一点都不花哨。其唯一目的是从博彩网站上获取数据并将其放入Excel。 大多数问题都是可以解决的,我周围有些混乱。但是,我在一个问题上遇到了巨大的障碍。如果站点加载一张马表并列出当前的投注价格,则此信息不在任何源文件中。提示是该数据有时是活动的,并且明显从某个远程服务器更新了这些数据。我PC上的HTML只是有一个漏洞,他们的服务

  • 问题内容: 我最近一直在学习Python,并全力以赴来构建网络抓取工具。一点都不花哨。其唯一目的是从博彩网站上获取数据并将其放入Excel。 大多数问题都是可以解决的,我周围有些混乱。但是,我在一个问题上遇到了巨大的障碍。如果站点加载一张马表并列出当前的投注价格,则此信息不在任何源文件中。提示是该数据有时是活动的,并且明显从某个远程服务器更新了这些数据。我PC上的HTML只是有一个漏洞,他们的服务

  • 本文向大家介绍Python使用Scrapy框架进行抓取,包括了Python使用Scrapy框架进行抓取的使用技巧和注意事项,需要的朋友参考一下 示例 首先,您必须建立一个新的Scrapy项目。输入要存储代码并运行的目录: 要刮擦,我们需要一只蜘蛛。蜘蛛定义了如何刮除某个站点。以下是蜘蛛的代码,该代码遵循指向StackOverflow上投票最高的问题的链接,并从每个页面中抓取一些数据(源): 将您的

  • 问题内容: 您如何使用Scrapy抓取返回JSON的Web请求?例如,JSON如下所示: 我将要抓取特定的项目(例如和在上面)并保存到csv。 问题答案: 这与使用Scrapy的html响应相同。唯一的区别是您应该使用模块来解析响应: 希望有帮助。