Scrapy Отсутствует один ответ позиционного аргумента - PullRequest
0 голосов
/ 01 августа 2020

Я хочу сохранить все ссылки внутри переменной my_links . Но тот, который я пытался сохранить, выдает ошибку. Отсутствует один позиционный аргумент ответ . Я новичок в scrapy ... Помогите, пожалуйста ... Вот мой код

import scrapy
from scrapy.crawler import CrawlerProcess


class Udemy_Scraper(scrapy.Spider):
    name = "udemy_scraper"
    start_urls = ['https://couponscorpion.com/']
    def parse(self, response):
        for links in response.xpath('//div[@class="rh-post-wrapper"]'):
            yield {
                'name': links.xpath('.//a/text()').extract(),
            }
    my_links = parse()

Заранее спасибо

1 Ответ

0 голосов
/ 02 августа 2020

Вам не нужно вызывать метод parse, так как он является методом обратного вызова и вызывается для всех URL-адресов в списке start_urls. Вы можете составить список на уровне паука. Это будет работать.

import scrapy
from scrapy.crawler import CrawlerProcess


class Udemy_Scraper(scrapy.Spider):
    name = "udemy_scraper"
    my_links = []
    start_urls = ['https://couponscorpion.com/']
    def parse(self, response):
        for links in response.xpath('//div[@class="rh-post-wrapper"]'):
            self.my_links + =[{'name': links.xpath('.//a/text()').extract()}]
        yield self.my_links
...