Рекурсивная очистка авторов Google Scholar с помощью Scrapy - PullRequest
0 голосов
/ 27 августа 2018

Я хочу рекурсивно удалить авторов Google-ученых (от автора-инициатора -> найти всех его соавторов) и остановиться после достижения максимального количества. Это код, который может понять все авторы, имеющие начальный URL. Однако, как мы можем просмотреть новых авторов и сделать это рекурсивно, а затем остановиться, получив около 1000 уникальных авторов?

from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor

class GoogleScholarSpider(CrawlSpider):
    #name of the spider
    name = 'googlescholar'

    #list of allowed domains
    allowed_domains = ['www://scholar.google.com']

    #starting url for scraping
    start_urls = ['https://scholar.google.com/citations?user=IT-vb_kAAAAJ&hl=en&oi=sra']

    #setting the location of the output csv file
    custom_settings = {
         'FEED_URI' : 'tmp/gscholar.csv'
    }


    rules = (Rule(SgmlLinkExtractor(), callback="parse", follow= True),)  ## NOT WORKING


    def parse(self, response):
        #Remove XML namespaces
        response.selector.remove_namespaces()

        scholar_name = response.xpath('//body/div/div/div/div/div/div/ul/li/div/span/a/text()').extract()  ## get value inside tag


        for item in zip(scholar_name):
            scraped_info = {
                            'scholar_name' : item[0],
            }
        yield scraped_info
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...