QueryList3 update log


After continuous iterations, QueryList, the PHP collection tool, welcomes QueryList3!

Let’s take a look at the changes in QueryList3:
1. Adjust parameters and are no longer compatible with previous versions
2. Use psr-4
3. Use composer
4. Change the property name jsonArr to data
5. Abandon the getJson method
6. Add getData, getHtml, getInstance and run methods
7. Add extension function, through which multi-thread batch can be realized Collection, simulated login collection and other functions make QueryList infinite possibilities.
8. Improvements include further reducing the chance of garbled characters, enhancing the built-in source code capture method, and achieving unlimited levels of nested collection.

Now introduce the existing example extensions:
1.Request extension, you can implement any complex network requests such as carrying cookies, forging origins, etc., you no longer have to worry about the built-in QueryList The crawling function is too weak.
2. Login extension can simulate login and then collect.
3.Multi extension, multi-thread (multi-process) collection extension.
The extension is run through the QueryList::run method.

Use Composer to install (of course you can not use this method):

QueryList and its dependencies:
composer require jaeger/querylist

QueryList extension requires optional separate installation:

Request network operation extension:
composer require jaeger/querylist-ext-request

Multi multi-threaded extension:
composer require jaeger/querylist-ext-multi

Login simulation login extension:
composer require jaeger/querylist-ext-login

The complete configuration including QueyListy and extensions is as follows:

{
    "require": {
        "jaeger/querylist": "^3.1",
        "jaeger/querylist-ext-request":"^1.0",
        "jaeger/querylist-ext-multi":"^1.0",
        "jaeger/querylist-ext-login":"^1.0"
    }
}

The following class libraries are dependencies of the above extensions. They will be installed automatically when installing the extensions. You can also choose to introduce them separately:

Http class:
composer require jaeger/http

CurlMulti Multi-threaded class:
composer require jaeger/curlmulti