Scrapy SgmlLinkExtractor Добавить произвольный URL - PullRequest
0 голосов
/ 20 ноября 2011

Как мне добавить URL в SgmlLinkExtractor? То есть как добавить произвольный URL для запуска обратного вызова?

Для уточнения, используя dirbot в качестве примера: https://github.com/scrapy/dirbot/blob/master/dirbot/spiders/googledir.py

parse_category имеет доступ только ко всему, что соответствует SgmlLinkExtractor SgmlLinkExtractor (allow = 'directory.google.com / [A-Z] [a-zA-Z _ /] + $')

Ответы [ 2 ]

0 голосов
/ 15 января 2013

класс ThemenHubSpider (CrawlSpider):

name = 'themenHub'
allowed_domains = ['themen.t-online.de']
start_urls = ["http://themen.t-online.de/themen-a-z/a"]
rules = [Rule(SgmlLinkExtractor(allow=['id_\d+']), 'parse_news')]
0 голосов
/ 21 ноября 2011

Используйте BaseSpider вместо CrawlSpider, затем установите add в start_requests или start_urls []

class MySpider(BaseSpider):
    name = "myspider"

    def start_requests(self):
        return [Request("https://www.example.com",
            callback=self.parse)]

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        ...
...