UNPKG

@tacohitbox/bing-scraper

Version:

Scrape results from Microsoft Bing.

78 lines (60 loc) 1.92 kB
# bing-scraper Scrape results from Microsoft Bing. Partially based on [@n0rmancodes/bing-scraper](https://github.com/normanlol/bing-scraper). ## install ```npm i @tacohitbox/bing-scraper``` ## sample code ```js // Logs results or error. var bing = require('@tacohitbox/bing-scraper'); bing.search({ q: 'test', pageCount: 2 }, function(err, resp) { if (err) { console.log(err); } else { console.log(resp); } }); ``` ### usage #### ``bing.search(query, cb)`` ##### ``query`` setting ``query`` can be either a ``string`` or ``object``. You can set ``userAgent``, ``referer``, ``cookies`` (must be from a response), ``lang`` to request Bing with as well. You can also set how many pages to grab with ``pageCount``,as well as forcing a language to search (set by ``lang``, by default ``"en-US"``) by setting ``enforceLanguage`` to ``true``. ###### example (with object) ```js { "q": "test", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0", "lang": "en-US", "referer": "https://www.bing.com/", "enforceLanguage": false "pageCount": 1, "cookies": [ { name: 'MUID', value: '1127A942078D62811E16B9C0065963C3', domain: '.bing.com', expires: 2022-08-22T08:03:58.000Z, path: '/', secure: true, sameSite: 'None' } ] } ``` Cookies are generated by the ``set-cookie-parser`` package to keep track of cookies given off by Bing. You can skip using an object by simply typing the query as a string like ``bing.search("test")``. ##### ``cb`` setting ``cb`` **must** be a function with an error and response variable, like this: ```js bing.search("test", function(err, res) { // Function here. }) ``` #### ``bing.searchImages(query, callback)`` This is nearly identical to how ``query`` and ``callback`` are set. The exception for this is ``enforceLanguage`` in ``query`` does nothing.