首页 > 解决方案 > 如何用scrapy在另一个方法中调用一个方法

问题描述

我想在 parse_list 方法中调用 selenium_parse 方法,但它似乎只是跳过它,即使我在调试时在 selenium_parse 中设置了一个断点。有谁知道怎么称呼这个?我在 Win10 中使用 Pycharm。

class Spider(scrapy.Spider):
    name = ''
    allowed_domains = ['']
    start_urls = ['']

    def __init__(self, *args, **kwargs):
        self.driver = webdriver.Chrome()
        super(Spider, self).__init__(*args, **kwargs)

    def start_requests(self):
        urls = [
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse_list)

    def parse_list(self, response):
        special_list_urls = response.css(
            '#SpecialsSlideBox > div.row-fluid.mrow-fluid > div > ul > li> a::attr(href)').extract()
        special_list_names = response.css(
            '#SpecialsSlideBox > div.row-fluid.mrow-fluid > div > ul > li> a::text').extract()

        dictionary = dict(zip(special_list_names, special_list_urls))
        for u in dictionary:
            target_url =  dictionary[u]
            *****self.selenium_parse(category, target_url)*****

    def selenium_parse(self, category,target_url):
        self.driver.get(target_url + '&page=1')

标签: pythonscrapyinstance-methods

解决方案


推荐阅读