首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接提取器无法获取超出特定路径的路径

链接提取器无法获取超出特定路径的路径
EN

Stack Overflow用户
提问于 2018-01-27 23:43:36
回答 1查看 130关注 0票数 0

我需要一点关于Scrapy的帮助和你的指导。我的Start_Url是::http://lighting.philips.co.uk/prof/已经粘贴了下面的代码,它能够获得链接/路径,直到下面的url。但不能超越这一点。我需要转到每个产品的页面,在下面的路径下列出。在"productsinfamily“页面中列出了特定的产品(可能在一个java脚本中)。我的爬虫无法访问这些单独的产品页面。

http://www.lighting.philips.co.uk/prof/led-lamps-and-tubes/led-lamps/corepro-ledbulb/productsinfamily/

下面是爬虫蜘蛛的代码-

代码语言:javascript
复制
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor


class ProductSearchSpider(CrawlSpider):
    name = "product_search"
    allowed_domains = ["lighting.philips.co.uk"]
    start_urls = ['http://lighting.philips.co.uk/prof/']

    rules = (Rule(LinkExtractor(allow=
     (r'^https?://www.lighting.philips.co.uk/prof/led-lamps-and-tubes/.*', ),), 
     callback='parse_page', follow=True),)


    def parse_page(self, response):
        yield{'URL' : response.url}
EN

回答 1

Stack Overflow用户

发布于 2018-01-28 03:09:29

您说得对,链接是在javascript中定义的。

如果查看html源代码,在第3790行可以看到创建了一个名为d75products的变量。这在以后用于填充模板和显示产品。

我的方法是从源中提取这些数据,并使用json模块加载它。一旦你有了数据,你就可以随心所欲地处理它。

另一种方式是使用某种东西(例如浏览器)来执行javascript,然后解析得到的html。我确实认为这是不必要的和过于复杂的。

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

https://stackoverflow.com/questions/48477440

复制
相关文章

相似问题

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