我正在尝试抓取一个名为https://www.powermaxed.com/的网站的数据。
它的目录结构不是很一致,我不知道下一步该怎么做。
这是我用于抓取的代码:
from scrapy.spiders import CrawlSpider
class MySpider(CrawlSpider):
name = 'powermaxed'
start_urls = ['https://www.powermaxed.com/']
def parse_product(self, response):
yield {
'product_title': response.xpath('//div[@class="container"]//div[@class="row"]//div[@id="content"]//h1/text()').extract_first()
'product_price_w/_tax': response.xpath('//div[@class="container"]//div[@class="row"]//div[@id="content"]//div[@class="row"]//div[@class="product-buy-wrapper"]//ul[@class="list-unstyled pp"]//li//h2//span[@id="formated_price"]/text()').extract_first()
'product_price_w/o_tax': response.xpath('//div[@class="container"]//div[@class="row"]//div[@id="content"]//div[@class="row"]//div[@class="product-buy-wrapper"]//ul[@class="list-unstyled pp"]//li//span[@id="formated_tax"]/text()').extract_first()
'product_desc': response.xpath('//div[@id="product-tabs"]//div[@class="tab-content"]//div[@id="tab-description"]//p/text()').extract_first()
'product_uses': response.xpath('//div[@id="product-tabs"]//div[@class="tab-content"]//div[@id="tab-description"]//ul//li/text()').extract()
}
提取的数据将是产品信息。
我需要从该网站上的所有目录访问所有产品页面 并提取我在代码中输入的信息。
我抓狂地炮击了该网站,所以我设置了要在蜘蛛上提取的数据。
答案 0 :(得分:1)
您可以简单地刮掉所有页面,如果有的话退还产品:
sr, x = read('test.mp3', normalized=False)
print(x)
#[[-225 707]
# [-234 782]
# [-205 755]
# ...,
# [ 303 89]
# [ 337 69]
# [ 274 89]]
write('out2.mp3', sr, x, normalized=False)
答案 1 :(得分:0)
您可以为问题添加更多详细信息吗?您需要哪种帮助?
从首页获取所有主要类别,例如nav#supermenu ul > li > a[href]:not(.tllhome)
,然后从此处抓取所有产品。如果需要,请通过左过滤器块div.panel-category a
进行迭代。
您还可以尝试从站点地图(https://www.powermaxed.com/sitemap.xml)中抓取类别,并从这些页面获取所有产品。