我试图使用链接提取器从这个站点https://pagalworld.me/category/11598/Latest%20Bollywood%20Hindi%20Mp3%20Songs%20-%202017.html获取歌曲名称,但结果是重复的。在
import scrapy
from scrapy import Request
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
class RedditSpider(CrawlSpider):
name='pagalworld'
allowed_domains = ["pagalworld.me"]
start_urls=['https://pagalworld.me/category/11598/Latest%20Bollywood%20Hindi%20Mp3%20Songs%20-%202017.html']
rules = (
Rule(
LinkExtractor(restrict_xpaths='//div/ul'),
follow=True,
callback='parse_start_url'),
)
def parse_start_url(self, response):
songName= response.xpath('//li/b/a/text()').extract()
for item in songName:
yield {"songName":item,
"URL":resposne}
你的蜘蛛看起来一切正常。但是,如果您查看歌曲页面,它提供每首歌曲的两个版本:
一个版本的190kbps质量较低,而另一个版本的质量较高,为320kbps。
^{pr2}$你可能只想保留其中一个:
编辑: 似乎也有重复的问题。请尝试禁用链接提取器上的
follow=True
,因为在这种情况下,您不想遵循。在相关问题 更多 >
编程相关推荐