Im пытаясь соскрести список всех отелей в Сан-Франциско из: http://www.tripadvisor.com/Hotels-g60713-San_Francisco_California-Hotels.htmlправила Scrapy crawlSpider - приоритетность «следующей страницы»
«ЗАТЕМ Отели» имеет уникальные URLs:
страница 2 является: /Hotels-g60713-oa30-San_Francisco_California-Hotels.html
страница 3: /Hotels-g60713-oa60-San_Francisco_California-Hotels.html
страница 4:/Отели-g60713-oa90-San_Francisco_California-отели .html
и так далее ..
- Как я могу установить crawlSpider, чтобы достигнуть этих страниц
- Есть ли правила, которые могут помочь мне в этом случае?
- Есть ли способ определить приоритеты и заставить его очистить и проанализировать эти страницы раньше всего?
мой код до сих пор:
импорт beatSoup_test импорт SCRAPY из scrapy.contrib.spiders импорта CrawlSpider, правило из scrapy.contrib.linkextractors.sgml импорта SgmlLinkExtractor
class TriAdvSpider(CrawlSpider):
name = "tripAdv"
allowed_domains = ["tripadvisor.com"]
start_urls = [
"http://www.tripadvisor.com/Hotels-g60713-San_Francisco_California-Hotels.html"
]
rules = (
Rule(SgmlLinkExtractor(allow=r'-\w+.html$'), callback='parse_item', follow=True),
)
def parse_item(self, response):
beatSoup_test.getHotels(response.body_as_unicode())
где beatSoup_test - это моя функция синтаксического анализа, которая использует beautifulsoup. Спасибо!