我需要一点关于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/
下面是爬虫蜘蛛的代码-
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}发布于 2018-01-28 03:09:29
您说得对,链接是在javascript中定义的。
如果查看html源代码,在第3790行可以看到创建了一个名为d75products的变量。这在以后用于填充模板和显示产品。
我的方法是从源中提取这些数据,并使用json模块加载它。一旦你有了数据,你就可以随心所欲地处理它。
另一种方式是使用某种东西(例如浏览器)来执行javascript,然后解析得到的html。我确实认为这是不必要的和过于复杂的。
https://stackoverflow.com/questions/48477440
复制相似问题