Scrapy, a fast high-level web crawling & scraping framework for Python.
Go to file
Vostretsov Nikita 821f5bb260 First implementation
handle exception
use O(N) instead of O(NlogN)
here we have request as struct
additional check for meptiness
small performance improvement
do not consume another request
test number of responses
mark requests
back to 3 slots test case
raise exceptions in case of missed meta
add marks to requests and work only with your own requests
only disk queue should obtain signals
separate functions for slot rasd/write
use signlas without variable
stop crawler
get signals in correct place
logic test for download-aware priority queue
update comment for structure
ensure text type
transform slot name to path
use implicit structure
use unicode type implicitly
use real crawler
add signals
more slot accounting
simple implementation of pop
small slot accounting code
no need for custom len function
ability to call super in py27
add slots
generic tests for downloader aware queue
dummy implementation of crawler aware priority queue
move common logic to base class
rename class
pass crawler to pqclass constructor
do not copy quelib.PriorityQueue code
add comment about new class
remove obsolete function
modify behaviour of queuelib.PriorityQueue to dodge very complex priority
better way to get name
remove obsolete commentary
check boundaries
function for priority convertion with known limits
correct import path
move file
do not switch on by deffault as ip concurrency not supported
set scheduler slot in case of empty slot
use constant
single place for added urls
single place for constants
use as default queue
correct format for error text
test migration from old version with on disk queue
in these tests we have only two inflection points - jobdir and priority_queue_cls
we do not need separate mock spider, use usual one
do not rely on order of dict elements, imply order of list
test round robiness of priority queue
add comments and requirements for our magick function
remove debug logging
put queues into slot
as we fabricate priorities we do not need special types anymore
fabricate priority for priority queue
more versatile priorities
Scheduler class is not inflection point
wrap correct types
check for emptinees before initialization
tests for new priority queue
correct default type for startprios
use exact values
put common settings to base class
test priorities for disk scheduler
test dequeue for disk scheduler
test length for disk scheduler
setUp/tearDown methods for on disk schedulers
new methods
remove excessive line
base class to handle scheduler creation
correct method names
test priorities
deque test
close scheduler on test end
enqueue some requests
test template for scheduler
use downloader slot
I/O implementation for RoundRobin queue
round-robin implementation without I/O and slot detection
wrappers for every disk queue class
2019-03-22 15:40:36 +03:00
artwork Use https for external links wherever possible in docs 2017-10-26 23:33:45 +05:30
debian Use https links wherever possible 2017-10-28 16:24:40 +05:30
docs Remove 'Dive into Python3' reference 2018-11-04 16:04:45 +08:00
extras Use https for external links wherever possible in docs 2017-10-26 23:33:45 +05:30
scrapy First implementation 2019-03-22 15:40:36 +03:00
sep Fix link for 'XPath and XSLT with lxml' 2017-10-28 16:34:49 +05:30
tests First implementation 2019-03-22 15:40:36 +03:00
.bumpversion.cfg Bump version: 1.4.0 → 1.5.0 2017-12-30 02:09:52 +05:00
.coveragerc remove ancient modules kept only for error messages 2018-07-06 03:23:37 +05:00
.gitignore add pytest temp files to gitignore 2018-09-12 17:57:27 +05:00
.travis.yml Try to get python3.7 by using xenial base and sudo 2018-07-09 13:12:47 +03:00
AUTHORS added Nicolas Ramirez to AUTHORS 2013-03-14 12:44:39 -03:00
CODE_OF_CONDUCT.md minor grammatical fixes in CODE_OF_CONDUCT.md 2018-06-01 21:48:43 -03:00
CONTRIBUTING.md Use https links wherever possible 2017-10-28 16:24:40 +05:30
INSTALL Use https links wherever possible 2017-10-28 16:24:40 +05:30
LICENSE added oxford commas to LICENSE 2018-06-01 21:48:43 -03:00
MANIFEST.in Include additional files in sdists 2018-11-16 13:38:19 -05:00
Makefile.buildbot Generated version as pep440 and dpkg compatible 2015-06-16 00:16:09 +00:00
NEWS added NEWS file pointing to docs/news.rst 2012-04-28 23:32:51 -03:00
README.rst Drop support for EOL Python 3.3 2017-12-19 17:59:05 +02:00
appveyor.yml Cache pip cache and do not rebuild tags on appveyor and travis 2018-08-15 01:35:01 -03:00
codecov.yml codecov config: disable project check, tweak PR comments 2017-05-19 00:01:27 +05:00
conftest.py remove ancient modules kept only for error messages 2018-07-06 03:23:37 +05:00
pytest.ini Don't collect tests by their class name 2015-05-04 18:10:04 -03:00
requirements-py2.txt require parsel 1.5+ 2018-09-12 17:57:27 +05:00
requirements-py3.txt require parsel 1.5+ 2018-09-12 17:57:27 +05:00
setup.cfg Build universal wheels 2016-03-01 11:00:20 +01:00
setup.py require parsel 1.5+ 2018-09-12 17:57:27 +05:00
tox.ini Merge branch 'master' of https://github.com/patiences/scrapy into patiences-master 2018-07-09 11:59:22 +03:00

README.rst

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>

Scrapy

Overview

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.

For more information including a list of features check the Scrapy homepage at: https://scrapy.org

Requirements

  • Python 2.7 or Python 3.4+
  • Works on Linux, Windows, Mac OSX, BSD

Install

The quick way:

pip install scrapy

For more details see the install section in the documentation: https://doc.scrapy.org/en/latest/intro/install.html

Documentation

Documentation is available online at https://doc.scrapy.org/ and in the docs directory.

Releases

You can find release notes at https://doc.scrapy.org/en/latest/news.html

Community (blog, twitter, mail list, IRC)

See https://scrapy.org/community/

Contributing

See https://doc.scrapy.org/en/master/contributing.html

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct (see https://github.com/scrapy/scrapy/blob/master/CODE_OF_CONDUCT.md).

By participating in this project you agree to abide by its terms. Please report unacceptable behavior to opensource@scrapinghub.com.

Companies using Scrapy

See https://scrapy.org/companies/

Commercial Support

See https://scrapy.org/support/

</html>