Scrapy SgmlLinkExtractor игнорирует допустимые ссылки

Пожалуйста, взгляните на этот пример паука в документации Scrapy. Объяснение:

Этот паук начнет обходить домашнюю страницу example.com, соединяя ссылки категорий и ссылки на ссылки, анализируя последний с помощью метода parse_item. Для каждого ответа элемента некоторые данные будут извлечены из HTML с помощью XPath, и элемент будет заполнен им.

Я скопировал тот же самый паук точно и заменил «example.com» на другой исходный url.

from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.selector import HtmlXPathSelector from scrapy.item import Item from stb.items import StbItem class StbSpider(CrawlSpider): domain_name = "stb" start_urls = ['http://www.stblaw.com/bios/MAlpuche.htm'] rules = (Rule(SgmlLinkExtractor(allow=(r'/bios/.\w+\.htm', )), callback='parse', follow=True), ) def parse(self, response): hxs = HtmlXPathSelector(response) item = StbItem() item['JD'] = hxs.select('//td[@class="bodycopysmall"]').re('\d\d\d\d\sJ.D.') return item SPIDER = StbSpider() 

Но мой паук «stb» не собирает ссылки из «/ bios /», как это должно быть сделано. Он запускает исходный url, сбрасывает item['JD'] и записывает его в файл, а затем завершает работу.

Почему SgmlLinkExtractor игнорируется? Rule читается, потому что оно улавливает ошибки синтаксиса внутри строки Rule .

Это ошибка? что-то не так в моем коде? Ошибок нет, кроме ошибок, которые я вижу при каждом запуске.

Было бы неплохо узнать, что я здесь делаю неправильно. Спасибо за любые подсказки. Я не понимаю, что должен делать SgmlLinkExtractor ?

One Solution collect form web for “Scrapy SgmlLinkExtractor игнорирует допустимые ссылки”

Функция parse фактически реализована и используется в классе CrawlSpider, и вы непреднамеренно переопределяете ее. Если вы измените имя на что-то еще, например parse_item , тогда правило должно работать.

  • Scrapy - Сканирование и очистка веб-сайта
  • Web Crawler - Игнорировать файл Robots.txt?
  • python: Существующее соединение было принудительно закрыто удаленным хостом
  • Scrapy сканирует все ссылки sitemap
  • Как понять этот необработанный HTML-код Yahoo! Финансы при извлечении данных с помощью Python?
  • Как работают правила Scrapy с помощью паука сканирования
  • Scrapy - не сканирует
  • Как запустить Scrapy из сценария Python
  • Как извлечь URL-адреса с HTML-страницы в Python
  • Как предотвратить URL-адрес Scrapy из URL-адреса URL-адреса
  • Каковы наилучшие готовые библиотеки для выполнения веб-сканирования в Python
  • Python - лучший язык программирования в мире.