summary refs log tree commit diff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
authorFelix Gruber <felgru@posteo.net>2022-04-20 17:28:04 +0000
committerLudovic Courtès <ludo@gnu.org>2022-05-02 15:14:46 +0200
commitf455c1e313ca1cb7cb8d875b9fa00e2b8c5ab3c2 (patch)
treeb724442bb8fe8ae364774cc42ef9cfff2f445825 /gnu/packages/python-web.scm
parentd9a7f652e259c7d04a2384bff92d2934904cb211 (diff)
downloadguix-f455c1e313ca1cb7cb8d875b9fa00e2b8c5ab3c2.tar.gz
gnu: Add python-scrapy.
* gnu/packages/python-web.scm (python-scrapy): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm59
1 files changed, 59 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b2fbbc86cd..0f9f1e8786 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -6518,3 +6518,62 @@ by asyncio.")
 HTML and XML using XPath and CSS selectors, optionally combined with
 regular expressions.")
     (license license:bsd-3)))
+
+(define-public python-scrapy
+  (package
+    (name "python-scrapy")
+    (version "2.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "Scrapy" version))
+        (sha256
+          (base32 "09rqalbwcz9ix8h0992mzjs50sssxsmmh8w9abkrqchgknjmbzan"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+        (modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "pytest"
+                        ;; requires network access
+                        "--ignore" "tests/test_command_check.py"
+                        "-k"
+                        (string-append
+                         ;; Failing for unknown reasons
+                         "not test_server_set_cookie_domain_suffix_public_private"
+                         " and not test_user_set_cookie_domain_suffix_public_private"
+                         " and not test_pformat")
+                        "tests")))))))
+    (propagated-inputs
+      (list python-botocore ; Optional: For S3FeedStorage class.
+            python-cryptography
+            python-cssselect
+            python-itemadapter
+            python-itemloaders
+            python-lxml
+            python-parsel
+            python-protego
+            python-pydispatcher
+            python-pyopenssl
+            python-queuelib
+            python-service-identity
+            python-setuptools
+            python-tldextract
+            python-twisted
+            python-w3lib
+            python-zope-interface))
+    (native-inputs
+      (list python-pytest
+            python-pyftpdlib
+            python-sybil
+            python-testfixtures
+            python-uvloop))
+    (home-page "https://scrapy.org")
+    (synopsis "High-level Web crawling and Web scraping framework")
+    (description "Scrapy is a fast high-level web crawling and web
+scraping framework, used to crawl websites and extract structured data
+from their pages. It can be used for a wide range of purposes, from data
+mining to monitoring and automated testing.")
+    (license license:bsd-3)))