首页 > 解决方案 > 如何使用 python scrapy 抓取 AngularJS 网站?

问题描述

我正在尝试使用 scrapy 从网页中抓取产品信息。这是我的网页

我看到了以下帖子:

带有scrapy的硒用于动态页面

使用 python-Scrapy 抓取动态内容

还有许多其他人,然后写了以下代码:

import scrapy
from scrapy_splash import SplashRequest

class filmnet_Spider(scrapy.Spider):
    name = 'filmnet'
    start_urls = {'http://filmnet.ir/'}

    DOWNLOADER_MIDDLEWARES = {
    'filmnet_Spider.SplashCookiesMiddleware': 723,
    'filmnet_Spider.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}

    SPIDER_MIDDLEWARES = {
    'filmnet_Spider.SplashDeduplicateArgsMiddleware': 100,
}
    DUPEFILTER_CLASS = 'filmnet_Spider.SplashAwareDupeFilter'
HTTPCACHE_STORAGE = 'filmnet_Spider.SplashAwareFSCacheStorage'

    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 filmnetscrap in self.start_urls:

            poster = filmnetscrap.xpath('//div[@class="verticalImage organizer"]//img/@src').extract()
            print poster

我还编写了包含以下内容的设置文件:

SPLASH_URL = ' http://localhost:8050/ '

但它不起作用

标签: pythondynamicweb-scrapingscrapy

解决方案


推荐阅读