1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
"""
Scrapy - a web crawling and web scraping framework written for Python
"""
import pkgutil
import sys
import warnings
# Declare top-level shortcuts
from scrapy.http import FormRequest, Request
from scrapy.item import Field, Item
from scrapy.selector import Selector
from scrapy.spiders import Spider
__all__ = [
"Field",
"FormRequest",
"Item",
"Request",
"Selector",
"Spider",
"__version__",
"version_info",
]
# Scrapy and Twisted versions
__version__ = (pkgutil.get_data(__package__, "VERSION") or b"").decode("ascii").strip()
version_info = tuple(int(v) if v.isdigit() else v for v in __version__.split("."))
def __getattr__(name: str):
if name == "twisted_version":
import warnings # pylint: disable=reimported
from twisted import version as _txv
from scrapy.exceptions import ScrapyDeprecationWarning
warnings.warn(
"The scrapy.twisted_version attribute is deprecated, use twisted.version instead",
ScrapyDeprecationWarning,
)
return _txv.major, _txv.minor, _txv.micro
raise AttributeError
# Ignore noisy twisted deprecation warnings
warnings.filterwarnings("ignore", category=DeprecationWarning, module="twisted")
del pkgutil
del sys
del warnings
|