如何提取重复,而使用刮擦链接提取器?

2022-09-28 21:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图提取多个产品的网址上存在的类别网页。同样,我想得到多个产品的网址对类别网页网址,但由于一个产品可以在不同的类别网页上,得到它过滤掉。如何防止像dont filter=True不在这里工作?还有,有没有一种方法是scrapy不检查的响应.状态一个被提取的url,并将其输出。你知道吗

import scrapy
import csv
from scrapy.spiders import SitemapSpider
from scrapy.spider import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import XMLFeedSpider


class ExtractSpider(CrawlSpider):
    s = []
    with open('C:\\Users\\Vishal\\Desktop\\kk.csv') as f:
        csv_read = csv.reader(f)
        next(csv_read)
        for line in csv_read:
            s.append(line[0])
    name = 'Extract'
    allowed_domains = ["abyexample.com"]
    start_urls = s
    rules = [Rule(LinkExtractor(allow=('https://abyexample/product')), callback="parse_link", follow=False)]

    def parse_link(self, response):
        yield {
        "main":response.request.headers.get('referer'),"response":response.url}

Tags: csvfromimporturl网页read产品response类别rulescrapy网址spiderscrawlspiderlinkextractor
2条回答
网友
1楼 ·

通过将最终链接列表转换为set(),可以提取重复项。你知道吗

类似于:set([0,1,1,2,1,3,5])的结果是{0,1,2,3,5},删除重复的值。你知道吗

希望有帮助!你知道吗

网友
2楼 ·

unique=False传递给^{}。你知道吗

热门问题