Запуск Scrapy на PyPy

Можно ли запустить Scrapy на PyPy ? Я просмотрел документацию и проект github, но единственное место, где упоминается PyPy – это то, что на PyPy были выполнены несколько модульных тестов 2 года назад, см. Поддержку PyPy . Существует также Scrapy терпит неудачу в PyPy долгое обсуждение произошло 3 года назад без конкретного разрешения или последующих действий .

Насколько я понимаю, основная зависимость Scrapy от Twisted как известно, работает на PyPy . Scrapy также использует lxml для разбора HTML, у которого есть дружелюбная вилка PyPy . Другая зависимость pyOpenSSL полностью поддерживается (благодаря комментарию @ Glyph).

One Solution collect form web for “Запуск Scrapy на PyPy”

Да. 🙂

Немного подробнее, у меня уже была версия pypy 2.6.0 (with pip), установленная на моем ящике. Просто работающая pip install scrapy практически просто сработала для меня. Оказывается, мне нужны дополнительные библиотеки для lxml. После этого все было хорошо.

После установки я могу запустить учебник dmoz . Например:

 [user@localhost scrapy_proj]# scrapy crawl dmoz 2015-06-30 14:34:45 [scrapy] INFO: Scrapy 1.0.0 started (bot: scrapy_proj) 2015-06-30 14:34:45 [scrapy] INFO: Optional features available: ssl, http11 2015-06-30 14:34:45 [scrapy] INFO: Overridden settings: {'BOT_NAME': 'scrapy_proj', 'NEWSPIDER_MODULE': 'scrapy_proj.spiders', 'SPIDER_MODULES': ['scrapy_proj.spiders']} 2015-06-30 14:34:45 [py.warnings] WARNING: :0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'. Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied. Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS client hostname verification. Many valid certificate/hostname mappings may be rejected. 2015-06-30 14:34:45 [scrapy] INFO: Enabled extensions: CoreStats, TelnetConsole, CloseSpider, LogStats, SpiderState 2015-06-30 14:34:45 [scrapy] INFO: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats 2015-06-30 14:34:45 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware 2015-06-30 14:34:45 [scrapy] INFO: Enabled item pipelines: 2015-06-30 14:34:45 [scrapy] INFO: Spider opened 2015-06-30 14:34:45 [scrapy] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2015-06-30 14:34:45 [scrapy] DEBUG: Telnet console listening on 127.0.0.1:6023 2015-06-30 14:34:46 [scrapy] DEBUG: Crawled (200) <GET http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/> (referer: None) 2015-06-30 14:34:46 [scrapy] DEBUG: Crawled (200) <GET http://www.dmoz.org/Computers/Programming/Languages/Python/Books/> (referer: None) 2015-06-30 14:34:46 [scrapy] INFO: Closing spider (finished) 2015-06-30 14:34:46 [scrapy] INFO: Dumping Scrapy stats: {'downloader/request_bytes': 514, 'downloader/request_count': 2, 'downloader/request_method_count/GET': 2, 'downloader/response_bytes': 16286, 'downloader/response_count': 2, 'downloader/response_status_count/200': 2, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2015, 6, 30, 13, 34, 46, 219002), 'log_count/DEBUG': 3, 'log_count/INFO': 7, 'log_count/WARNING': 1, 'response_received_count': 2, 'scheduler/dequeued': 2, 'scheduler/dequeued/memory': 2, 'scheduler/enqueued': 2, 'scheduler/enqueued/memory': 2, 'start_time': datetime.datetime(2015, 6, 30, 13, 34, 45, 652421)} 2015-06-30 14:34:46 [scrapy] INFO: Spider closed (finished) 

И в соответствии с запросом, вот еще информация о версии, которую я запускаю:

 [user@localhost scrapy_proj]# which scrapy /opt/pypy/bin/scrapy [user@localhost scrapy_proj]# scrapy version 2015-06-30 15:04:42 [scrapy] INFO: Scrapy 1.0.0 started (bot: scrapy_proj) 2015-06-30 15:04:42 [scrapy] INFO: Optional features available: ssl, http11 2015-06-30 15:04:42 [scrapy] INFO: Overridden settings: {'BOT_NAME': 'scrapy_proj', 'NEWSPIDER_MODULE': 'scrapy_proj.spiders', 'SPIDER_MODULES': ['scrapy_proj.spiders']} Scrapy 1.0.0 
  • Как заставить pylint распознавать скрученные и ephem-члены?
  • Как использовать Twisted для проверки Gmail с помощью проверки подлинности OAuth2.0
  • Отправка данных JSON через WebSocket из Matlab с использованием Python Twisted и Autobahn
  • Подклассификация static.File
  • Каков правильный способ закрыть соединение SSH с витой раковиной?
  • Twisted: tcp-сервер с примером производителя push?
  • allow_none в скрученном сервере XML-RPC
  • Список пользователей в канале IRC с использованием IRC-инфраструктуры Twisted Python
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.