aio-scrapy 2.1.4__py3-none-any.whl → 2.1.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. {aio_scrapy-2.1.4.dist-info → aio_scrapy-2.1.7.dist-info}/LICENSE +1 -1
  2. aio_scrapy-2.1.7.dist-info/METADATA +147 -0
  3. aio_scrapy-2.1.7.dist-info/RECORD +134 -0
  4. {aio_scrapy-2.1.4.dist-info → aio_scrapy-2.1.7.dist-info}/WHEEL +1 -1
  5. aioscrapy/VERSION +1 -1
  6. aioscrapy/cmdline.py +438 -5
  7. aioscrapy/core/downloader/__init__.py +522 -17
  8. aioscrapy/core/downloader/handlers/__init__.py +187 -5
  9. aioscrapy/core/downloader/handlers/aiohttp.py +190 -6
  10. aioscrapy/core/downloader/handlers/curl_cffi.py +126 -5
  11. aioscrapy/core/downloader/handlers/httpx.py +135 -5
  12. aioscrapy/core/downloader/handlers/pyhttpx.py +137 -5
  13. aioscrapy/core/downloader/handlers/requests.py +120 -2
  14. aioscrapy/core/downloader/handlers/webdriver/__init__.py +2 -0
  15. aioscrapy/core/downloader/handlers/webdriver/drissionpage.py +493 -0
  16. aioscrapy/core/downloader/handlers/webdriver/driverpool.py +234 -0
  17. aioscrapy/core/downloader/handlers/webdriver/playwright.py +498 -0
  18. aioscrapy/core/engine.py +381 -20
  19. aioscrapy/core/scheduler.py +350 -36
  20. aioscrapy/core/scraper.py +509 -33
  21. aioscrapy/crawler.py +392 -10
  22. aioscrapy/db/__init__.py +149 -0
  23. aioscrapy/db/absmanager.py +212 -6
  24. aioscrapy/db/aiomongo.py +292 -10
  25. aioscrapy/db/aiomysql.py +363 -10
  26. aioscrapy/db/aiopg.py +299 -2
  27. aioscrapy/db/aiorabbitmq.py +444 -4
  28. aioscrapy/db/aioredis.py +260 -11
  29. aioscrapy/dupefilters/__init__.py +110 -5
  30. aioscrapy/dupefilters/disk.py +124 -2
  31. aioscrapy/dupefilters/redis.py +598 -32
  32. aioscrapy/exceptions.py +151 -13
  33. aioscrapy/http/__init__.py +1 -1
  34. aioscrapy/http/headers.py +237 -3
  35. aioscrapy/http/request/__init__.py +257 -11
  36. aioscrapy/http/request/form.py +83 -3
  37. aioscrapy/http/request/json_request.py +121 -9
  38. aioscrapy/http/response/__init__.py +306 -33
  39. aioscrapy/http/response/html.py +42 -3
  40. aioscrapy/http/response/text.py +496 -49
  41. aioscrapy/http/response/web_driver.py +144 -0
  42. aioscrapy/http/response/xml.py +45 -3
  43. aioscrapy/libs/downloader/defaultheaders.py +66 -2
  44. aioscrapy/libs/downloader/downloadtimeout.py +91 -2
  45. aioscrapy/libs/downloader/ja3fingerprint.py +95 -2
  46. aioscrapy/libs/downloader/retry.py +192 -6
  47. aioscrapy/libs/downloader/stats.py +142 -0
  48. aioscrapy/libs/downloader/useragent.py +93 -2
  49. aioscrapy/libs/extensions/closespider.py +166 -4
  50. aioscrapy/libs/extensions/corestats.py +151 -1
  51. aioscrapy/libs/extensions/logstats.py +145 -1
  52. aioscrapy/libs/extensions/metric.py +370 -1
  53. aioscrapy/libs/extensions/throttle.py +235 -1
  54. aioscrapy/libs/pipelines/__init__.py +345 -2
  55. aioscrapy/libs/pipelines/csv.py +242 -0
  56. aioscrapy/libs/pipelines/excel.py +545 -0
  57. aioscrapy/libs/pipelines/mongo.py +132 -0
  58. aioscrapy/libs/pipelines/mysql.py +67 -0
  59. aioscrapy/libs/pipelines/pg.py +67 -0
  60. aioscrapy/libs/spider/depth.py +141 -3
  61. aioscrapy/libs/spider/httperror.py +144 -4
  62. aioscrapy/libs/spider/offsite.py +202 -2
  63. aioscrapy/libs/spider/referer.py +396 -21
  64. aioscrapy/libs/spider/urllength.py +97 -1
  65. aioscrapy/link.py +115 -8
  66. aioscrapy/logformatter.py +199 -8
  67. aioscrapy/middleware/absmanager.py +328 -2
  68. aioscrapy/middleware/downloader.py +218 -0
  69. aioscrapy/middleware/extension.py +50 -1
  70. aioscrapy/middleware/itempipeline.py +96 -0
  71. aioscrapy/middleware/spider.py +360 -7
  72. aioscrapy/process.py +200 -0
  73. aioscrapy/proxy/__init__.py +142 -3
  74. aioscrapy/proxy/redis.py +136 -2
  75. aioscrapy/queue/__init__.py +168 -16
  76. aioscrapy/scrapyd/runner.py +124 -3
  77. aioscrapy/serializer.py +182 -2
  78. aioscrapy/settings/__init__.py +610 -128
  79. aioscrapy/settings/default_settings.py +314 -14
  80. aioscrapy/signalmanager.py +151 -20
  81. aioscrapy/signals.py +183 -1
  82. aioscrapy/spiderloader.py +165 -12
  83. aioscrapy/spiders/__init__.py +233 -6
  84. aioscrapy/statscollectors.py +312 -1
  85. aioscrapy/utils/conf.py +345 -17
  86. aioscrapy/utils/curl.py +168 -16
  87. aioscrapy/utils/decorators.py +76 -6
  88. aioscrapy/utils/deprecate.py +212 -19
  89. aioscrapy/utils/httpobj.py +55 -3
  90. aioscrapy/utils/log.py +79 -0
  91. aioscrapy/utils/misc.py +189 -21
  92. aioscrapy/utils/ossignal.py +67 -5
  93. aioscrapy/utils/project.py +165 -3
  94. aioscrapy/utils/python.py +254 -44
  95. aioscrapy/utils/reqser.py +75 -1
  96. aioscrapy/utils/request.py +173 -12
  97. aioscrapy/utils/response.py +91 -6
  98. aioscrapy/utils/signal.py +196 -14
  99. aioscrapy/utils/spider.py +51 -4
  100. aioscrapy/utils/template.py +93 -6
  101. aioscrapy/utils/tools.py +191 -17
  102. aioscrapy/utils/trackref.py +198 -12
  103. aioscrapy/utils/url.py +341 -36
  104. aio_scrapy-2.1.4.dist-info/METADATA +0 -239
  105. aio_scrapy-2.1.4.dist-info/RECORD +0 -133
  106. aioscrapy/core/downloader/handlers/playwright/__init__.py +0 -115
  107. aioscrapy/core/downloader/handlers/playwright/driverpool.py +0 -59
  108. aioscrapy/core/downloader/handlers/playwright/webdriver.py +0 -96
  109. aioscrapy/http/response/playwright.py +0 -36
  110. aioscrapy/libs/pipelines/execl.py +0 -169
  111. {aio_scrapy-2.1.4.dist-info → aio_scrapy-2.1.7.dist-info}/entry_points.txt +0 -0
  112. {aio_scrapy-2.1.4.dist-info → aio_scrapy-2.1.7.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 conlin-huang
3
+ Copyright (c) 2021 ConlinH
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,147 @@
1
+ Metadata-Version: 2.2
2
+ Name: aio-scrapy
3
+ Version: 2.1.7
4
+ Summary: A high-level Web Crawling and Web Scraping framework based on Asyncio
5
+ Home-page: https://github.com/conlin-huang/aio-scrapy.git
6
+ Author: conlin
7
+ Author-email: 995018884@qq.com
8
+ License: MIT
9
+ Keywords: aio-scrapy,scrapy,aioscrapy,scrapy redis,asyncio,spider
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Internet :: WWW/HTTP
17
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: >=3.9
20
+ Description-Content-Type: text/markdown
21
+ License-File: LICENSE
22
+ Requires-Dist: aiohttp
23
+ Requires-Dist: ujson
24
+ Requires-Dist: w3lib>=1.17.0
25
+ Requires-Dist: parsel>=1.5.0
26
+ Requires-Dist: PyDispatcher>=2.0.5
27
+ Requires-Dist: zope.interface>=5.1.0
28
+ Requires-Dist: redis>=4.3.1
29
+ Requires-Dist: aiomultiprocess>=0.9.0
30
+ Requires-Dist: loguru>=0.7.0
31
+ Requires-Dist: anyio>=3.6.2
32
+ Provides-Extra: all
33
+ Requires-Dist: aiomysql>=0.1.1; extra == "all"
34
+ Requires-Dist: httpx[http2]>=0.23.0; extra == "all"
35
+ Requires-Dist: aio-pika>=8.1.1; extra == "all"
36
+ Requires-Dist: cryptography; extra == "all"
37
+ Requires-Dist: motor>=2.1.0; extra == "all"
38
+ Requires-Dist: pyhttpx>=2.10.1; extra == "all"
39
+ Requires-Dist: asyncpg>=0.27.0; extra == "all"
40
+ Requires-Dist: XlsxWriter>=3.1.2; extra == "all"
41
+ Requires-Dist: pillow>=9.4.0; extra == "all"
42
+ Requires-Dist: requests>=2.28.2; extra == "all"
43
+ Requires-Dist: curl_cffi; extra == "all"
44
+ Provides-Extra: aiomysql
45
+ Requires-Dist: aiomysql>=0.1.1; extra == "aiomysql"
46
+ Requires-Dist: cryptography; extra == "aiomysql"
47
+ Provides-Extra: httpx
48
+ Requires-Dist: httpx[http2]>=0.23.0; extra == "httpx"
49
+ Provides-Extra: aio-pika
50
+ Requires-Dist: aio-pika>=8.1.1; extra == "aio-pika"
51
+ Provides-Extra: mongo
52
+ Requires-Dist: motor>=2.1.0; extra == "mongo"
53
+ Provides-Extra: playwright
54
+ Requires-Dist: playwright>=1.31.1; extra == "playwright"
55
+ Provides-Extra: pyhttpx
56
+ Requires-Dist: pyhttpx>=2.10.4; extra == "pyhttpx"
57
+ Provides-Extra: curl-cffi
58
+ Requires-Dist: curl_cffi>=0.6.1; extra == "curl-cffi"
59
+ Provides-Extra: requests
60
+ Requires-Dist: requests>=2.28.2; extra == "requests"
61
+ Provides-Extra: pg
62
+ Requires-Dist: asyncpg>=0.27.0; extra == "pg"
63
+ Provides-Extra: execl
64
+ Requires-Dist: XlsxWriter>=3.1.2; extra == "execl"
65
+ Requires-Dist: pillow>=9.4.0; extra == "execl"
66
+ Dynamic: author
67
+ Dynamic: author-email
68
+ Dynamic: classifier
69
+ Dynamic: description
70
+ Dynamic: description-content-type
71
+ Dynamic: home-page
72
+ Dynamic: keywords
73
+ Dynamic: license
74
+ Dynamic: provides-extra
75
+ Dynamic: requires-dist
76
+ Dynamic: requires-python
77
+ Dynamic: summary
78
+
79
+ # AioScrapy
80
+
81
+ AioScrapy是一个基于Python异步IO的强大网络爬虫框架。它的设计理念源自Scrapy,但完全基于异步IO实现,提供更高的性能和更灵活的配置选项。</br>
82
+ AioScrapy is a powerful asynchronous web crawling framework built on Python's asyncio library. It is inspired by Scrapy but completely reimplemented with asynchronous IO, offering higher performance and more flexible configuration options.
83
+
84
+ ## 特性 | Features
85
+
86
+ - **完全异步**:基于Python的asyncio库,实现高效的并发爬取
87
+ - **多种下载处理程序**:支持多种HTTP客户端,包括aiohttp、httpx、requests、pyhttpx、curl_cffi、DrissionPage和playwright
88
+ - **灵活的中间件系统**:轻松添加自定义功能和处理逻辑
89
+ - **强大的数据处理管道**:支持多种数据库存储选项
90
+ - **内置信号系统**:方便的事件处理机制
91
+ - **丰富的配置选项**:高度可定制的爬虫行为
92
+ - **分布式爬取**:支持使用Redis和RabbitMQ进行分布式爬取
93
+ - **数据库集成**:内置支持Redis、MySQL、MongoDB、PostgreSQL和RabbitMQ
94
+
95
+
96
+ - **Fully Asynchronous**: Built on Python's asyncio for efficient concurrent crawling
97
+ - **Multiple Download Handlers**: Support for various HTTP clients including aiohttp, httpx, requests, pyhttpx, curl_cffi, DrissionPage and playwright
98
+ - **Flexible Middleware System**: Easily add custom functionality and processing logic
99
+ - **Powerful Data Processing Pipelines**: Support for various database storage options
100
+ - **Built-in Signal System**: Convenient event handling mechanism
101
+ - **Rich Configuration Options**: Highly customizable crawler behavior
102
+ - **Distributed Crawling**: Support for distributed crawling using Redis and RabbitMQ
103
+ - **Database Integration**: Built-in support for Redis, MySQL, MongoDB, PostgreSQL, and RabbitMQ
104
+
105
+ ## 安装 | Installation
106
+
107
+ ### 要求 | Requirements
108
+
109
+ - Python 3.9+
110
+
111
+ ### 使用pip安装 | Install with pip
112
+
113
+ ```bash
114
+ pip install aio-scrapy
115
+
116
+ # Install the latest aio-scrapy
117
+ # pip install git+https://github.com/ConlinH/aio-scrapy
118
+ ```
119
+
120
+ ## 文档 | Documentation
121
+
122
+ ## 文档目录 | Documentation Contents
123
+ - [安装指南 | Installation Guide](docs/installation.md)
124
+ - [快速入门 | Quick Start](docs/quickstart.md)
125
+ - [核心概念 | Core Concepts](docs/concepts.md)
126
+ - [爬虫指南 | Spider Guide](docs/spiders.md)
127
+ - [下载器 | Downloaders](docs/downloaders.md)
128
+ - [中间件 | Middlewares](docs/middlewares.md)
129
+ - [管道 | Pipelines](docs/pipelines.md)
130
+ - [队列 | Queues](docs/queues.md)
131
+ - [请求过滤器 | Request Filters](docs/dupefilters.md)
132
+ - [代理 | Proxy](docs/proxy.md)
133
+ - [数据库连接 | Database Connections](docs/databases.md)
134
+ - [分布式部署 | Distributed Deployment](docs/distributed.md)
135
+ - [配置参考 | Settings Reference](docs/settings.md)
136
+ - [API参考 | API Reference](docs/api.md)
137
+ - [示例 | Example](example)
138
+
139
+ ## 许可证 | License
140
+
141
+ 本项目采用MIT许可证 - 详情请查看LICENSE文件。</br>
142
+ This project is licensed under the MIT License - see the LICENSE file for details.
143
+
144
+
145
+ ## 联系
146
+ QQ: 995018884 </br>
147
+ WeChat: h995018884
@@ -0,0 +1,134 @@
1
+ aioscrapy/VERSION,sha256=UWlFItN7l7WK9wepGFQZFCnWjnLxT6VWRF2wqSNBq3U,5
2
+ aioscrapy/__init__.py,sha256=esJeH66Mz9WV7XbotvZEjNn49jc589YZ_L2DKoD0JvA,858
3
+ aioscrapy/__main__.py,sha256=rvTdJ0cQwbi29aucPj3jJRpccx5SBzvRcV7qvxvX2NQ,80
4
+ aioscrapy/cmdline.py,sha256=0pusLJXryZAxU9qk6QqN89IO6Kv20gkfJBnZ8UKVg_A,22302
5
+ aioscrapy/crawler.py,sha256=_Jt7YwwMS4AmaClS1WN_gHE0JL1yC260nOZBZOLscO4,27600
6
+ aioscrapy/exceptions.py,sha256=6HjbEnyXweflJSzD6h97rvyULW1hG8CyzijfliVcZY0,8247
7
+ aioscrapy/link.py,sha256=tst6oNLG2XXV_3yNSn0y1cv4QgT_hWkG6SRIusEVXVk,6393
8
+ aioscrapy/logformatter.py,sha256=8thDxSk2zynvuqkrY2eLhXMFs0VGjmSaP27iYjLLsEA,11454
9
+ aioscrapy/process.py,sha256=Mw3jMduGTf5_gskg9u2gx959ikt2U422X-QRABs9byw,11007
10
+ aioscrapy/serializer.py,sha256=quSnGtGWGLLF9Fn1XiHo4Yq8icaTn7q1Dex0Qe_Ia0Q,8152
11
+ aioscrapy/signalmanager.py,sha256=etXh4swjboKFC-2ahulf55_HEoIX88YnuSv6XcNp7Y4,10024
12
+ aioscrapy/signals.py,sha256=5ZhZsVwFYmb93YCesWP3KaghD42E_8R2VQktMrKLXn4,8135
13
+ aioscrapy/spiderloader.py,sha256=yjCbxCwtqN3CUWSnFdkWHuDCQJvGdGBlnTJlJOSOSmU,9398
14
+ aioscrapy/statscollectors.py,sha256=FUt4RQ88hgpVEMQqMAfHrqH7aaIeSAzR-8n2dd-k9xk,14522
15
+ aioscrapy/commands/__init__.py,sha256=hNPzpaYpnX3mxLjQgKM211xAuMgjhxMwjpDRCrvFVwI,4769
16
+ aioscrapy/commands/crawl.py,sha256=fKrQEdR-YJuiXpDIX3R0QdhOgjDwDye7C6ilrj77C1A,1020
17
+ aioscrapy/commands/genspider.py,sha256=381W8-pjbASGXvYjrrgYWorJD9BjURa25oolDm0QI1Q,5426
18
+ aioscrapy/commands/list.py,sha256=j62GHgngGRdW-AGKCJBvrc_h26yj0JmEFBkXTvjRoi8,346
19
+ aioscrapy/commands/runspider.py,sha256=albdJM3SUbWzhiOK1zsWklp3HqGSPRISTshg33EnZ_c,2067
20
+ aioscrapy/commands/settings.py,sha256=sc0rwwfBQNySKX8uV3iJqv3i7SelFwNcrlHYxDupKOg,1798
21
+ aioscrapy/commands/startproject.py,sha256=Rcc7JkN75Jp2t2aZIxBzPsWbLXChNAUSByDhcW_6Ig8,4001
22
+ aioscrapy/commands/version.py,sha256=yqqTMlZkkiQhtbU9w_IqUWLMOAjqYlv24friEkPRQYM,485
23
+ aioscrapy/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ aioscrapy/core/engine.py,sha256=PY0jQ2FiVLRibE5yS0fXGxxWIiTPuJIwG-svzd3Sg1w,25694
25
+ aioscrapy/core/scheduler.py,sha256=qF_VptLGuFa8E7mXz86tjX5vww6OJTKPxE_g8XsPqsc,22416
26
+ aioscrapy/core/scraper.py,sha256=ugO2z-ZJr8xB0S1BhGOpM3zio82a6PNykTrfbAdpd68,34045
27
+ aioscrapy/core/downloader/__init__.py,sha256=LXjkOSuP6wj2lGgmJIH3nbQVf4r9RrlqenSZtWyZvzU,31522
28
+ aioscrapy/core/downloader/handlers/__init__.py,sha256=Rxhrkj3QBo73HY2kb7goApfNKlfc3Mqn5olmoWxT98Q,11006
29
+ aioscrapy/core/downloader/handlers/aiohttp.py,sha256=V9UenrXzdn7jr0LxpsnFZE_smwncbK76gXW4DEE4EIA,13463
30
+ aioscrapy/core/downloader/handlers/curl_cffi.py,sha256=OmQl0RqWmlPI59FBD7h1mHqQi6e_VBbntJ35ui4IbY8,7864
31
+ aioscrapy/core/downloader/handlers/httpx.py,sha256=tsbrhmZfTqTNhxlH4vFU6_0VvPtOPAyKJlhPBiloZOg,8790
32
+ aioscrapy/core/downloader/handlers/pyhttpx.py,sha256=f1q5e2Cfq8jW-X2wn4ncsCgRnOQk-fqXLHy_UMxrO40,8519
33
+ aioscrapy/core/downloader/handlers/requests.py,sha256=n0KTgbRzgNLnw2PiK2NRAC7lNHTF0d1-ZnHkFNQY41A,7795
34
+ aioscrapy/core/downloader/handlers/webdriver/__init__.py,sha256=TxietLeEdQfNO0hAhh6oEKmHPV72s4Z3UXcEwu-w9sw,144
35
+ aioscrapy/core/downloader/handlers/webdriver/drissionpage.py,sha256=J_OwFHICR4ZQNxYO8Wfg2AQL4z66hu6amD24y_3XB94,21821
36
+ aioscrapy/core/downloader/handlers/webdriver/driverpool.py,sha256=_NoCL_cRFCJtdJwkjArNfdhhfSAUWdmoZ0k7eCx7QwI,8981
37
+ aioscrapy/core/downloader/handlers/webdriver/playwright.py,sha256=O_GQ3Xfs7php7ezwvWK5MReoR4JjV6tiWvh7__-XF3A,22519
38
+ aioscrapy/db/__init__.py,sha256=d3X5cqYBkV6MCXIJa8s88Yli27GKQTX94IEJyK0Gj0w,8575
39
+ aioscrapy/db/absmanager.py,sha256=onGxA2eQJ-kC6JsKhR5afaa6tw_UVstDHyh-kkSiW-o,8480
40
+ aioscrapy/db/aiomongo.py,sha256=MOHqy3uIwWJDXxUGZv7fwup7em7mCsZhGzQB3dEauaI,14750
41
+ aioscrapy/db/aiomysql.py,sha256=YNw4pGAv3gP0Y8FtNNWFOI8LFe93R0C2NU-eO4O6f4c,17497
42
+ aioscrapy/db/aiopg.py,sha256=6xk6qursZu5y6qk39kj4bVaLkkkIaspoOGT1siRDXA0,15564
43
+ aioscrapy/db/aiorabbitmq.py,sha256=K7t_m4CoHqko36NBk4FqYvMVRYCJ1VeUdrpBSxDZWs8,23992
44
+ aioscrapy/db/aioredis.py,sha256=cEyssDUaBpAkeLD2SdDZUTtWNzOFytwhNurKbimRmYc,12745
45
+ aioscrapy/dupefilters/__init__.py,sha256=jbYQ0Sz0XTwdng-IbSp9zRUmfJsCWEtoCWkEDgk2YmU,6300
46
+ aioscrapy/dupefilters/disk.py,sha256=CIOhxJ8M2-caoMIZebnAcSjQC0Pr5RIA-69_Cb2k4BA,6796
47
+ aioscrapy/dupefilters/redis.py,sha256=6MUpIrJsgmWMd-1Xp_oF5dD3BQO2uKuTMu3UDUPKvn4,33223
48
+ aioscrapy/http/__init__.py,sha256=_WrJLH4NQsyG1nUhrpnecWpcy7Bf6ZTfT7xZUIcL_SM,596
49
+ aioscrapy/http/headers.py,sha256=FyIQnUvU2n39l3cDPez5VvtYLvVCWkSpjrUkzP58UTQ,9990
50
+ aioscrapy/http/request/__init__.py,sha256=qEFVQUHFj6WUzEjNDTBWIxxeIMxmPt4147Mbf7K6wYA,16831
51
+ aioscrapy/http/request/form.py,sha256=W8Img6A6PyjIiJCOskUF442LLC-0fYnoDKWxExRjVbw,5123
52
+ aioscrapy/http/request/json_request.py,sha256=XVuGHGkd8LLLNjQnW8TaAiqcZaM9X4N7MEEOMrp17kY,7563
53
+ aioscrapy/http/response/__init__.py,sha256=ep9OnMNgEYF0lE6H7HghA7ziEmAOwCRNsujVXMaTsa4,17934
54
+ aioscrapy/http/response/html.py,sha256=DyXVW710AUXw51Hyc8pfApNIzfKsTmk2lAnhbJGqgH8,1745
55
+ aioscrapy/http/response/text.py,sha256=LlFI_AAtLLclxw_jrfZ9Ildt64i9qnca9nSQ7ta8yJw,28792
56
+ aioscrapy/http/response/web_driver.py,sha256=qgB8Iat-S_N3IMY-qyYhWJKxMkxHO-Mvmnz1Q8d0JYM,5542
57
+ aioscrapy/http/response/xml.py,sha256=2imNt90gRg33VGzgRluJLyHKD7j7DDHNfpLkXX0-HVQ,2085
58
+ aioscrapy/libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
+ aioscrapy/libs/downloader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ aioscrapy/libs/downloader/defaultheaders.py,sha256=Q9qmPwY7JIjxZinH0iXvhDmV1KEkK42YxeOAXl_zYv8,3573
61
+ aioscrapy/libs/downloader/downloadtimeout.py,sha256=q7Vyovfba8ie5GSlZK61AbKuHFvN2xnxX_TE88fHrL8,4818
62
+ aioscrapy/libs/downloader/ja3fingerprint.py,sha256=PgnX8mRkaRLXEyCFNg8ej_CuTomqxEEO5xEqVGU6SXY,5816
63
+ aioscrapy/libs/downloader/retry.py,sha256=81E83iSz_41RF8nB_QLRC-1aJWg9XUB_J6jMRmpm2vY,13411
64
+ aioscrapy/libs/downloader/stats.py,sha256=8NuoEN7_9HRA3RyI30ij7oAVUy837avO1_8_oaSQNmE,7505
65
+ aioscrapy/libs/downloader/useragent.py,sha256=EFCDAvQVuWE071GepPRuSQfbutO8ImQWJyfRQaWDyzI,4561
66
+ aioscrapy/libs/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ aioscrapy/libs/extensions/closespider.py,sha256=Ffv5TL8YF-dHTzSMzJQ-jKWlvY5d7y70Ya8Xs_qfBTs,9384
68
+ aioscrapy/libs/extensions/corestats.py,sha256=vDDQ0NYI0TVIEQ6boEE-uqiZeZkP8FQ_JZ579Sqp0Rw,7676
69
+ aioscrapy/libs/extensions/logstats.py,sha256=L5KKDR6giEPHd_yJrBZ-hw7UDufSPmP82ayEdSrdqQU,7340
70
+ aioscrapy/libs/extensions/metric.py,sha256=zcVF41nOYeNGcTtzRJxKIx4kbN3lZ58PbiJnmM71RRc,20118
71
+ aioscrapy/libs/extensions/throttle.py,sha256=m6yET0GKzN2TD5USuInnTxjv8ZCt0rgaZVUBaLyU4wA,12943
72
+ aioscrapy/libs/pipelines/__init__.py,sha256=LgvmDyjI4grqmfzlU-LPEIGs2H9Q5_BesDMk5vO4Qew,20483
73
+ aioscrapy/libs/pipelines/csv.py,sha256=hTlEo7kYqFTGF4gKnwU_0L1yL036E3c_I4HmNC0PbJ8,12448
74
+ aioscrapy/libs/pipelines/excel.py,sha256=pvxdbmv5bHZEMjyRSKEbgqSm_zWJuOAxyy0IMvyGIT4,23287
75
+ aioscrapy/libs/pipelines/mongo.py,sha256=aIBJhJChg_YqHYnOziXon-AuPleCnXx4oqwoSAZBb8M,8396
76
+ aioscrapy/libs/pipelines/mysql.py,sha256=-HSJEbSw-ir-KGf-zbCHiDTftmpoK1Rx0eIOpRtGJG8,4456
77
+ aioscrapy/libs/pipelines/pg.py,sha256=4kJhMjZHtH38UsbAFAFYtVDuRgIfddHiw7VrFG2WawI,4444
78
+ aioscrapy/libs/spider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ aioscrapy/libs/spider/depth.py,sha256=enhOOQJ7UbR6jHoBIWkgAfLhYlJcBtFE__roFwkj39w,7912
80
+ aioscrapy/libs/spider/httperror.py,sha256=kNf4vy8wTr73VLYECPMXmH93Puwsbm2EJ6RuetUbLYQ,8300
81
+ aioscrapy/libs/spider/offsite.py,sha256=IlkIKpZR5MwhHAjfksTppbZC9evYjOl7H6HSRz7RR_Y,12029
82
+ aioscrapy/libs/spider/referer.py,sha256=OahxhY9hd2jbTDES2dg7nEOQQ4bbDMIXDeDF5ZxR13M,30174
83
+ aioscrapy/libs/spider/urllength.py,sha256=d9FdIUwcrGnTL2grLRR-ahtqKUQq3l5y2004tYYELvk,5433
84
+ aioscrapy/middleware/__init__.py,sha256=Ej7BAmxdHDqaytQT1XA3V73CpBedkZBQsRni0fduuck,396
85
+ aioscrapy/middleware/absmanager.py,sha256=gKIfi6lgVK853Hn_oVEOrEVnZSo3Ps0Te6LVUbq5pI0,17910
86
+ aioscrapy/middleware/downloader.py,sha256=rHBky30UP7WU4jXR3GdcRtmQV4Hkya7whW1Cd_GSTs4,13250
87
+ aioscrapy/middleware/extension.py,sha256=SMKxp14cL05ESioBs0LsDd8hHancwSgLObu7T_BeNfk,2803
88
+ aioscrapy/middleware/itempipeline.py,sha256=BGkVVRH6viUcAaNet9YrHltd1O6oN_TQ3DtBCM8yDY8,5543
89
+ aioscrapy/middleware/spider.py,sha256=Ig7jGl_2KdSSmCX9WYJ9bzJF0MCC8BcqC6mjoQ3oCsU,24359
90
+ aioscrapy/proxy/__init__.py,sha256=MGIz77LarRvABHftwXztk8rN_BimgZAHaUIphhraZEE,8175
91
+ aioscrapy/proxy/redis.py,sha256=vpcIOmcpQK_Chob2jsSMPd8E4-nAMOvYluRf8dl3Mkk,8321
92
+ aioscrapy/queue/__init__.py,sha256=yKRpBaqPLL4DJSD9Q_gsDhViqcJaLAHWh8gj58QEIvo,7961
93
+ aioscrapy/queue/memory.py,sha256=_Dvkd-HXwdR8B-wsEPlHNWbAgaMH9M_UGZhF21LbnHA,3140
94
+ aioscrapy/queue/rabbitmq.py,sha256=rE1GCoIGxoaV4KAi_9Umt623A00FaHHIFV5ZH_nypzY,2516
95
+ aioscrapy/queue/redis.py,sha256=KU31ZNciLI9xxZDxsDhtOPLtmkxZQlRPOx_1z8afdwY,4788
96
+ aioscrapy/scrapyd/__init__.py,sha256=Ey14RVLUP7typ2XqP8RWcUum2fuFyigdhuhBBiEheIo,68
97
+ aioscrapy/scrapyd/runner.py,sha256=L0VpRkZD6IOE9MD_QI1A9ipxu3F5mKkqwyl7QxGctFs,6747
98
+ aioscrapy/settings/__init__.py,sha256=3TWbIDf8vtDosXo8QTiypTUGr3z3o8csKJZQnMHnZrs,37108
99
+ aioscrapy/settings/default_settings.py,sha256=5iSMC1lLoHTkqGNbQY-eQl5X5xnZFbit26aOfHuPUHE,16040
100
+ aioscrapy/spiders/__init__.py,sha256=U5ZrpW_I-YPUUSi7VDh47mt_rwtzxpj5R0CoYFi0N18,13527
101
+ aioscrapy/templates/project/aioscrapy.cfg,sha256=_nRHP5wtPnZaBi7wCmjWv5BgUu5NYFJZhvCTRVSipyM,112
102
+ aioscrapy/templates/project/module/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ aioscrapy/templates/project/module/middlewares.py.tmpl,sha256=0eEf2LC0vYcWPH82HNqieYSORyUuIo3Bgl5t-neRAJ4,3469
104
+ aioscrapy/templates/project/module/pipelines.py.tmpl,sha256=-MYA7MFAffH8FTG1VGAkhIJLQ6MOGMrWVDO7cI9jw9A,164
105
+ aioscrapy/templates/project/module/settings.py.tmpl,sha256=AO2jmyokUhuhFqxMvsMihPgSY4ZrldsMs-BuOEVfvQY,1421
106
+ aioscrapy/templates/project/module/spiders/__init__.py,sha256=Zg1uss1vaNjvld9s9Ccua50SxVZwpFTPwqpBHoCrWdU,164
107
+ aioscrapy/templates/spiders/basic.tmpl,sha256=oO1vh7-TZLjvpwdrYC49TGe-A6Kulc8UIG4Sa0QhDfI,375
108
+ aioscrapy/templates/spiders/single.tmpl,sha256=Ptmo_uFDGEffvpEMyxec7sxIyBbP05x0Grhn5u6lZbQ,1011
109
+ aioscrapy/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
+ aioscrapy/utils/conf.py,sha256=qiwnJ3FVYpwhJB9efAxAdcBUAYNuCQKXAVDQ0-LWWZI,22213
111
+ aioscrapy/utils/curl.py,sha256=eK0LSzMdAeHJtQxXD1hfqKHWgKlofXDeUlbdKibfEkU,10740
112
+ aioscrapy/utils/decorators.py,sha256=f_PhzxBlfNg5EAHXJvTztvT7MWkTQvy4BlZ3EDSIL6s,3821
113
+ aioscrapy/utils/deprecate.py,sha256=62Vt97AO46-nu1VLjUSvkeZQIBlF7QfIOXg26uL2PqA,14689
114
+ aioscrapy/utils/httpobj.py,sha256=nfsBHI1P6ZmZtQvCVnnDqlOQKjKfxjcTWPlr2ZFt_9U,3371
115
+ aioscrapy/utils/log.py,sha256=DOyTXlbT8oNXcXvlaMHwcoc7BehZBYnA1sx8ugEtp2E,5695
116
+ aioscrapy/utils/misc.py,sha256=tlF2vKY-Pv5e6MIpLirpaKv-qkCIU2BZNC14JrK0JBo,11302
117
+ aioscrapy/utils/ossignal.py,sha256=QAbDUQkLYs8iw8JDdOe_SK3OZVkDOsGRb7MOuiPhURg,4456
118
+ aioscrapy/utils/project.py,sha256=FSo4xI3rcl0cPVpglmhBUSq1v1hP8BUsW5QHyq8J4Gk,10052
119
+ aioscrapy/utils/python.py,sha256=s41gNQnNCLUN3w1CWN5VXS43thUQ_MmUBp1s1WSM-sk,14217
120
+ aioscrapy/utils/reqser.py,sha256=2L3U0CRhfNxoP1nEfuXRLVVIjl7qobksRe1yLGk9-Gc,4037
121
+ aioscrapy/utils/request.py,sha256=FnWL9hyoLbFHBXLutWwyzIWl3Ep_La6FPgN2RKgG1dw,8909
122
+ aioscrapy/utils/response.py,sha256=ph3zLA_7llrOgCQFojO5t--WrIQXYyd_jvh9DZQjWMA,5747
123
+ aioscrapy/utils/signal.py,sha256=BrRcuac4OgZ4z5hqd8RNdvPq5ECwVqRkYPRIQlawQvQ,11186
124
+ aioscrapy/utils/spider.py,sha256=SORKS7uhwOalcCLztFTX7AJqxAGNSTQGTkBCHpf6yS0,2601
125
+ aioscrapy/utils/template.py,sha256=7tyOvgY7HJJLqBOPcHqpZxtuBjgUwTKkDMZkSyE_4MY,4985
126
+ aioscrapy/utils/tools.py,sha256=JdAQM4eqBVMYM5LaOqvV6GURVedcSKOTvquLcHTPWXk,10563
127
+ aioscrapy/utils/trackref.py,sha256=umHeYm9Td8h8OtzyvOiAY6GcTna0QUm8J6PwcV_NMgU,10002
128
+ aioscrapy/utils/url.py,sha256=K0zyUoWoeh2EseYVNe3VswnbCr6-Nj2gukhaxCFvJ9w,19669
129
+ aio_scrapy-2.1.7.dist-info/LICENSE,sha256=QbrHw1tuFHRfXCws2HUcrsOPH93sEJ7F4JO6PcjbMiQ,1083
130
+ aio_scrapy-2.1.7.dist-info/METADATA,sha256=Ou93gQCnMxBqJqJnNouLbNdB6hJgH2Rgs3bFDfEPOPg,6077
131
+ aio_scrapy-2.1.7.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
132
+ aio_scrapy-2.1.7.dist-info/entry_points.txt,sha256=WWhoVHZvqhW8a5uFg97K0EP_GjG3uuCIFLkyqDICgaw,56
133
+ aio_scrapy-2.1.7.dist-info/top_level.txt,sha256=8l08KyMt22wfX_5BmhrGH0PgwZdzZIPq-hBUa1GNir4,10
134
+ aio_scrapy-2.1.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
aioscrapy/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.4
1
+ 2.1.7