removed static tests because they are too larege
16
.gitignore
vendored
@ -1,3 +1,19 @@
|
|||||||
|
# ignore static tests
|
||||||
|
|
||||||
|
test/static_tests/
|
||||||
|
test/static_tests/*
|
||||||
|
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# ignore data
|
||||||
|
|
||||||
|
examples/data/
|
||||||
|
examples/data/*
|
||||||
|
|
||||||
|
examples/results/
|
||||||
|
examples/results/*
|
||||||
|
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
logs
|
logs
|
||||||
*.log
|
*.log
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
filetype:pdf anleitung
|
|
||||||
filetype:pdf berge
|
|
||||||
filetype:pdf iso 27001
|
|
||||||
filetype:pdf pruefugn
|
|
||||||
filetype:pdf klima
|
|
||||||
filetype:pdf archiv news
|
|
@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"iphone": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 15:00:19 GMT",
|
|
||||||
"num_results": "\n 1-16 of over 1,000 results for \"iphone\"\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n Sort by:\n \n Featured\n \n Price: Low to High\n \n Price: High to Low\n \n Avg. Customer Review\n \n Newest Arrivals\n \n Sort by:Featured\n <span class=\"a-button a-button-base\"><span class=\"a-button-inner\"><input class=\"a-button-input\" type=\"submit\" value=\"Go\"><span class=\"a-button-text\" aria-hidden=\"true\">Go</span></span></span>\n \n\n\n ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "\"iphone\"",
|
|
||||||
"results": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"drone": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 15:00:21 GMT",
|
|
||||||
"num_results": "\n 1-48 of over 50,000 results for \"drone\"\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n \n Sort by:\n \n Featured\n \n Price: Low to High\n \n Price: High to Low\n \n Avg. Customer Review\n \n Newest Arrivals\n \n Sort by:Featured\n <span class=\"a-button a-button-base\"><span class=\"a-button-inner\"><input class=\"a-button-input\" type=\"submit\" value=\"Go\"><span class=\"a-button-text\" aria-hidden=\"true\">Go</span></span></span>\n \n\n\n ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "\"drone\"",
|
|
||||||
"results": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,262 +0,0 @@
|
|||||||
{
|
|
||||||
"cat": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:23:13 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "43.000.000 Ergebnisse",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.cat.com/de_DE.html",
|
|
||||||
"title": "Cat | Produkte & Dienstleistungen | Caterpillar",
|
|
||||||
"snippet": "Diese Website verwendet \"Cookies\" und legt Sie auf Ihrem Computer ab, um die Benutzerfreundlichkeit der Website zu optimieren. Klicken Sie hier, um mehr über diese Cookies zu erfahren und allgemeine Informationen darüber zu erhalten, wie Sie Ihre Cookie-Einstellungen ändern können.",
|
|
||||||
"visible_link": "https://www.cat.com/de_DE.html",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cat.com/de_DE/products/new/equipment.html",
|
|
||||||
"title": "Cat | Maschinen | Caterpillar",
|
|
||||||
"snippet": "Unsere Produktpalette umfasst über 300 Maschinen, und wir verbessern und aktualisieren unser Produktangebot ständig, um auf Ihre wechselnden Bedürfnisse einzugehen.",
|
|
||||||
"visible_link": "https://www.cat.com/de_DE/products/new/equipment.html",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.catphones.com/de-de/",
|
|
||||||
"title": "Cat phones: Rugged Phones",
|
|
||||||
"snippet": "Das Cat® S31 ist ein verlässliches Rugged Phone, das für den Einsatz in extremen Umgebungsbedingungen perfekt gerüstet ist: Stürze, Staub, Schmutz …",
|
|
||||||
"visible_link": "https://www.catphones.com/de-de",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.catphones.com/",
|
|
||||||
"title": "Cat phones: Rugged Phones",
|
|
||||||
"snippet": "Welcome to Cat® phones. Discover a range of rugged phones with waterproof, dust and drop proof features & long battery life built to last.",
|
|
||||||
"visible_link": "https://www.catphones.com",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cityairporttrain.com/",
|
|
||||||
"title": "City Airport Train - non-stop Flughafentransfer nach Wien!",
|
|
||||||
"snippet": "CAT Online Ticket. Wenn Sie Ihr CAT Ticket online kaufen, können Sie es ganz bequem als SMS auf Ihr Handy oder als PDF per E-Mail erhalten. Wenn Sie beim Kauf Ihre Handynummer angeben, senden wir Ihnen das CAT Ticket als SMS auf Ihr Handy.",
|
|
||||||
"visible_link": "https://www.cityairporttrain.com",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/CAT",
|
|
||||||
"title": "CAT – Wikipedia",
|
|
||||||
"snippet": "Dies ist eine Begriffsklärungsseite zur Unterscheidung mehrerer mit demselben Wort bezeichneter Begriffe.",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/CAT",
|
|
||||||
"rank": 6
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:23:15 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "7-16 von 43.100.000 Ergebnissen",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.zeppelin-cat.de/produkte/cat-bagger.html",
|
|
||||||
"title": "Cat Bagger - zeppelin-cat.de",
|
|
||||||
"snippet": "Cat Kettenbagger 13 bis 40 t. Die legendären Kettenbagger der Serie 300 mit toller Ausstattung und noch sparsamer. mehr",
|
|
||||||
"visible_link": "https://www.zeppelin-cat.de/produkte/cat-bagger.html",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/CAT",
|
|
||||||
"title": "CAT – Wikipedia",
|
|
||||||
"snippet": "Dies ist eine Begriffsklärungsseite zur Unterscheidung mehrerer mit demselben Wort bezeichneter Begriffe.",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/CAT",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cat-europe.com/de/",
|
|
||||||
"title": "Civil Aviation Training Europe – PPL CPL ATPL EIR/CB-IR",
|
|
||||||
"snippet": "“Hallo liebes CAT Team. Ich erwerbe den ATPL und war letzte Woche bei der Prüfung. Das Ergebnis: Alle Fächer beim ersten Versuch bestanden! Ich möchte Euch danken, da die Vorbereitung echt klasse ist und ich mir das Lernen super einteilen konnte.",
|
|
||||||
"visible_link": "https://www.cat-europe.com/de",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://cat.eduroam.de/",
|
|
||||||
"title": "eduroam Configuration Assistant Tool",
|
|
||||||
"snippet": "Willkommen zu DFN eduroam CAT Diese Seite anzeigen in Български Català Čeština Deutsch Ελληνικά English(GB) Español Euskara Français Galego Hrvatski Italiano lietuvių Norsk Polski Slovenščina Srpski Suomi Magyar Português Slovenčina",
|
|
||||||
"visible_link": "https://cat.eduroam.de",
|
|
||||||
"rank": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://cat-exclusiv.de/",
|
|
||||||
"title": "Das Privathaus Cat-Exclusiv in Köln-Wahn - Männerträume ...",
|
|
||||||
"snippet": "Privathaus in Köln-Wahn: Cat-Exclusiv macht Männerträume wahr. Lass Dich in einem unserer Mottozimmer fallen und entspanne.",
|
|
||||||
"visible_link": "cat-exclusiv.de",
|
|
||||||
"rank": 11
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/Grumpy_Cat",
|
|
||||||
"title": "Grumpy Cat – Wikipedia",
|
|
||||||
"snippet": "Tardar Sauce (* 4. April 2012 in Morristown, Arizona; † 14. Mai 2019 ebenda), besser bekannt als Grumpy Cat, engl. für mürrische Katze, war eine weibliche Katze, die durch ihren mürrischen Gesichtsausdruck Bekanntheit erlangte und sich dadurch auch zum Internetphänomen entwickelte.",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/Grumpy_Cat",
|
|
||||||
"rank": 12
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.idcat.cat/",
|
|
||||||
"title": "IDCAT, Identitat Digital",
|
|
||||||
"snippet": "Com podeu obtenir l'idCAT Certificat? Seguiu aquestes passes per obtenir-lo.",
|
|
||||||
"visible_link": "https://www.idcat.cat",
|
|
||||||
"rank": 13
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.ara.cat/",
|
|
||||||
"title": "Ara.cat - El diari líder en català amb l'última hora i ...",
|
|
||||||
"snippet": "Notícies, reportatges, vídeos i articles per informar-vos i formar-vos la vostra opinió",
|
|
||||||
"visible_link": "https://www.ara.cat",
|
|
||||||
"rank": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://bongo.cat/",
|
|
||||||
"title": "Bongo Cat",
|
|
||||||
"snippet": "Hit the bongos like Bongo Cat! ... Bongos A D",
|
|
||||||
"visible_link": "https://bongo.cat",
|
|
||||||
"rank": 15
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://www.meteo.cat/",
|
|
||||||
"title": "El temps a Catalunya | Servei Meteorològic de Catalunya",
|
|
||||||
"snippet": "Informació meteorològica de Catalunya ⇒ Previsió del temps avui, radar, avisos de perill, temperatura, notícies i novetats.",
|
|
||||||
"visible_link": "www.meteo.cat",
|
|
||||||
"rank": 16
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mouse": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:23:16 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "134.000.000 Ergebnisse",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.logitech.com/de-de/mice",
|
|
||||||
"title": "Logitech Computermäuse für PC und Macintosh ...",
|
|
||||||
"snippet": "Wireless Mouse M545 Kompaktes Format für großen Komfort EUR 44.99 Vergleichen USB Unifying receiver USB-Empfänger für den Einsatz mit einer Unifying-Maus oder -Tastatur.",
|
|
||||||
"visible_link": "https://www.logitech.com/de-de/mice",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/Mouse",
|
|
||||||
"title": "Mouse – Wikipedia",
|
|
||||||
"snippet": "Mouse steht für: die englische Bezeichnung für ein Computereingabegerät, siehe Maus (Computer) Mouse (Manga), eine Manga-Serie; Mouse (Programmiersprache), eine Programmiersprache",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/Mouse",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.chip.de/downloads/Move-Mouse_102198245.html",
|
|
||||||
"title": "Move Mouse - Download - CHIP",
|
|
||||||
"snippet": "08.01.2017 · \"Move Mouse\" ist ein nützliches kleines Tool, mit dem Sie automatisch Ihre Maus bewegen und dadurch beispielsweise die Aktivierung des Ruhezustands verhindern.",
|
|
||||||
"visible_link": "https://www.chip.de/downloads/Move-Mouse_102198245.html",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.duden.de/rechtschreibung/Mouse",
|
|
||||||
"title": "Duden | Mouse | Rechtschreibung, Bedeutung, Definition ...",
|
|
||||||
"snippet": "Definition, Rechtschreibung, Synonyme und Grammatik von 'Mouse' auf Duden online nachschlagen. Wörterbuch der deutschen Sprache.",
|
|
||||||
"visible_link": "https://www.duden.de/rechtschreibung/Mouse",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.chip.de/downloads/Mouse-Recorder-Premium_77202175.html",
|
|
||||||
"title": "Mouse Recorder Premium - Download - CHIP",
|
|
||||||
"snippet": "12.02.2016 · Mouse Recorder Premium wurde zuletzt am 02.12.2016 aktualisiert und steht Ihnen hier in der Version 1.0.51 zum Download zur Verfügung.",
|
|
||||||
"visible_link": "https://www.chip.de/downloads/Mouse-Recorder-Premium_77202175.html",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/Maus_%28Computer%29",
|
|
||||||
"title": "Maus (Computer) – Wikipedia",
|
|
||||||
"snippet": "1995 stellte Genius die Mouse Systems ProAgio und die Genius EasyScroll vor, die zwischen den beiden Maustasten ein zusätzliches Scrollrad aufwiesen, um zum Beispiel innerhalb eines Fensters schneller auf- und abscrollen zu können.",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/Maus_(Computer)",
|
|
||||||
"rank": 6
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"2": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:23:18 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "7-16 von 134.000.000 Ergebnissen",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://de.wikipedia.org/wiki/Mouse",
|
|
||||||
"title": "Mouse – Wikipedia",
|
|
||||||
"snippet": "Mouse steht für: die englische Bezeichnung für ein Computereingabegerät, siehe Maus (Computer) Mouse (Manga), eine Manga-Serie; Mouse (Programmiersprache), eine Programmiersprache",
|
|
||||||
"visible_link": "https://de.wikipedia.org/wiki/Mouse",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.duden.de/rechtschreibung/Mouse",
|
|
||||||
"title": "Duden | Mouse | Rechtschreibung, Bedeutung, Definition ...",
|
|
||||||
"snippet": "Definition, Rechtschreibung, Synonyme und Grammatik von 'Mouse' auf Duden online nachschlagen. Wörterbuch der deutschen Sprache.",
|
|
||||||
"visible_link": "https://www.duden.de/rechtschreibung/Mouse",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.chip.de/downloads/Mouse-Recorder-Premium_77202175.html",
|
|
||||||
"title": "Mouse Recorder Premium - Download - CHIP",
|
|
||||||
"snippet": "Mouse Recorder Premium wurde zuletzt am 02.12.2016 aktualisiert und steht Ihnen hier in der Version 1.0.51 zum Download zur Verfügung.",
|
|
||||||
"visible_link": "https://www.chip.de/downloads/Mouse-Recorder-Premium_77202175.html",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.mouse-sensitivity.com/",
|
|
||||||
"title": "Mouse Sensitivity | Same Aim - Different Game",
|
|
||||||
"snippet": "Version 7.7.a (May 30, 2019) - Added a copy button next to the sensitivity calculations so you can copy the entire sensitivity output without any formatting.",
|
|
||||||
"visible_link": "https://www.mouse-sensitivity.com",
|
|
||||||
"rank": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.microsoft.com/en-us/download/details.aspx?id=35460",
|
|
||||||
"title": "Download Microsoft Garage Mouse without …",
|
|
||||||
"snippet": "17.01.2018 · Mouse Without Borders is a Microsoft Garage project by Truong Do. Garage projects are side projects that Microsoft employees like Truong build for fun on their nights and weekends.",
|
|
||||||
"visible_link": "https://www.microsoft.com/en-us/download/details.aspx?id=35460",
|
|
||||||
"rank": 11
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://evoluent.com/",
|
|
||||||
"title": "Evoluent VerticalMouse Vertical Mouse …",
|
|
||||||
"snippet": "I just recently got to use the keyboard and mouse myself. I’ve probably recommended the keyboard to about 7 or more clients in the past 2 weeks.",
|
|
||||||
"visible_link": "https://evoluent.com",
|
|
||||||
"rank": 12
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://remotemouse.net/",
|
|
||||||
"title": "Remote Mouse - Keyboard, Mouse and Touchpad",
|
|
||||||
"snippet": "Keyboard, Mouse and Touchpad. Control made simple. It's a perfect combination of 3 most common remote control devices. With smarter multi-touch gestures, all you need is to click and slide.",
|
|
||||||
"visible_link": "remotemouse.net",
|
|
||||||
"rank": 13
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://sourceforge.net/projects/orphamielautoclicker/",
|
|
||||||
"title": "AutoClicker download | SourceForge.net",
|
|
||||||
"snippet": "14.03.2019 · Download AutoClicker for free. A full-fledged autoclicker with two modes of autoclicking, at your dynamic cursor location or at a prespecified location. The maximum amounts of clicked can also be set (or left as infinite).",
|
|
||||||
"visible_link": "https://sourceforge.net/projects/orphamielautoclicker",
|
|
||||||
"rank": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://cookie.riimu.net/speed/",
|
|
||||||
"title": "Clicking Speed Test - Riimu's Cookie Clicker …",
|
|
||||||
"snippet": "Clicking Speed Test. Test how fast you can click the virtual virtual cookie. Cookies per click is based on what you've entered in the Optimizer.",
|
|
||||||
"visible_link": "https://cookie.riimu.net/speed",
|
|
||||||
"rank": 15
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://wifimouse.necta.us/",
|
|
||||||
"title": "WiFi Mouse - use your phone control computer",
|
|
||||||
"snippet": "Transform your phone into wireless mouse,keyboard and trackpad",
|
|
||||||
"visible_link": "wifimouse.necta.us",
|
|
||||||
"rank": 16
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,106 +0,0 @@
|
|||||||
{
|
|
||||||
"buy used car": {
|
|
||||||
"1": {
|
|
||||||
"time": "Sun, 07 Jul 2019 16:04:09 GMT",
|
|
||||||
"num_results": "About 5,330,000,000 results (0.65 seconds) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"top_ads": [],
|
|
||||||
"bottom_ads": [],
|
|
||||||
"places": [
|
|
||||||
{
|
|
||||||
"heading": "Approved Automotive",
|
|
||||||
"rating": "2.7 (3) · Used car dealerClosed ⋅ Opens 8AM Mon",
|
|
||||||
"contact": "Independence, KS · (620) 331-6223",
|
|
||||||
"hours": "Closed ⋅ Opens 8AM Mon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"heading": "Romans Motor Company",
|
|
||||||
"rating": "4.4 (38) · Chevrolet dealerClosed ⋅ Opens 8AM Mon\"Great place to get your car worked on.\" \"Great place to get your car worked on.\" ",
|
|
||||||
"contact": "Independence, KS · (620) 331-4700\"Great place to get your car worked on.\" ",
|
|
||||||
"hours": "Closed ⋅ Opens 8AM Mon"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"heading": "Perl on Eleventh",
|
|
||||||
"rating": "No reviews · Used car dealerClosed ⋅ Opens 9AM Mon",
|
|
||||||
"contact": "Coffeyville, KS · (620) 251-4050",
|
|
||||||
"hours": "Closed ⋅ Opens 9AM Mon"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.cars.com/shopping/",
|
|
||||||
"title": "Used Cars for Sale Online Near Me | Cars.comhttps://www.cars.com/shopping/Cached",
|
|
||||||
"snippet": "Car-Buying Advice. First-timers and veterans shopping new or used cars: know what to remind yourself to do, ask and learn, from verifying the condition to ...",
|
|
||||||
"visible_link": "https://www.cars.com/shopping/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.carfax.com/cars-for-sale",
|
|
||||||
"title": "Used Cars for Sale | with Free CARFAXhttps://www.carfax.com/cars-for-saleCachedSimilar",
|
|
||||||
"snippet": "A FREE CARFAX report comes with every used car and truck for sale on Carfax.com. ... Find out how much a car is really worth before you buy it with the all-new ...",
|
|
||||||
"visible_link": "https://www.carfax.com/cars-for-sale",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.autotrader.com/",
|
|
||||||
"title": "New Cars, Used Cars - Find Cars for Sale and Reviews at Autotraderhttps://www.autotrader.com/Cached",
|
|
||||||
"snippet": "With millions of cars, finding your next new car or used car and the car ... Buying a car is a big deal -- and saving money is a crucial aspect of any new - or used ...",
|
|
||||||
"visible_link": "https://www.autotrader.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.carmax.com/cars",
|
|
||||||
"title": "Used Cars for Sale - CarMaxhttps://www.carmax.com/carsCachedSimilar",
|
|
||||||
"snippet": "Search for new and used cars at carmax.com. Use our car ... 130 Best Used Cars for 2019: Ranked by Price and Type ... What is the best car to buy in 2019?",
|
|
||||||
"visible_link": "https://www.carmax.com/cars",
|
|
||||||
"date": "",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.enterprisecarsales.com/usedcars-buy",
|
|
||||||
"title": "Buy Used Cars - Enterprise Car Saleshttps://www.enterprisecarsales.com/usedcars-buyCached",
|
|
||||||
"snippet": "Looking to buy a used car? You know Enterprise for our exceptional customer service on rental cars, and you'll experience that same level of service when you ...",
|
|
||||||
"visible_link": "https://www.enterprisecarsales.com/usedcars-buy",
|
|
||||||
"date": "",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.truecar.com/used-cars-for-sale/",
|
|
||||||
"title": "Used Cars For Sale: 1,006,922 Used & Pre-Owned Cars | TrueCarhttps://www.truecar.com/used-cars-for-sale/CachedSimilar",
|
|
||||||
"snippet": "Buy With Confidence. Get the best used car buying experience when you purchase from a TrueCar Certified Dealer who is dedicated to great service, and ...",
|
|
||||||
"visible_link": "https://www.truecar.com/used-cars-for-sale/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.truecar.com/",
|
|
||||||
"title": "TrueCar: Car Prices, Owner Reviews & Inventory | New & Used Carshttps://www.truecar.com/CachedSimilar",
|
|
||||||
"snippet": "Shop for new and used cars and trucks. ... Sam's Club, American Express and Chase, giving members who use TrueCar a superior car-buying experience.",
|
|
||||||
"visible_link": "https://www.truecar.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.enterprisecarsales.com/list/buy-a-car-1",
|
|
||||||
"title": "Buy Used Cars, Find Used Vehicles for Sale - Enterprise Car Saleshttps://www.enterprisecarsales.com/list/buy-a-car-1CachedSimilar",
|
|
||||||
"snippet": "Browse our vehicle inventory to find reliable used cars for sale right now at Enterprise Car Sales.",
|
|
||||||
"visible_link": "https://www.enterprisecarsales.com/list/buy-a-car-1",
|
|
||||||
"date": "",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.edmunds.com/used-cars-for-sale/",
|
|
||||||
"title": "Get the Best Deals on Used Cars For Sale Near You - Shop Used ...https://www.edmunds.com/used-cars-for-sale/CachedSimilar",
|
|
||||||
"snippet": "Get the best prices on great used cars, trucks and SUVs for sale near you with Edmunds. We have over 5 million cheap ... Buy used with confidence on Edmunds ...",
|
|
||||||
"visible_link": "https://www.edmunds.com/used-cars-for-sale/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 9
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,711 +0,0 @@
|
|||||||
{
|
|
||||||
"news world": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 15:43:36 GMT",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.sortiraparis.com/arts-culture/exposition/articles/193207-the-world-of-banksy-experience-immersive-autour-de-banksy-a-l-espace-lafayette-d",
|
|
||||||
"title": "The World of Banksy : expérience immersive autour de Banksy à l ...",
|
|
||||||
"snippet": "Du 13 juin au 31 juillet 2019, un autre lieu de la capitale s'intéresse au street-artiste en proposant l'événement « The World of Banksy - The ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.millenium.org/news/335019.html",
|
|
||||||
"title": "Fortnite World Cup : semaine 9, SOLO, EU, suivi, classement et résultats",
|
|
||||||
"snippet": "Retrouvez les résultats et le classement de la neuvième semaine de qualification de la Coupe du Monde de Fortnite pour la région EU.",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cbsnews.com/live-news/fifa-womens-world-cup-2019-06-11-uswnt-schedule-scores-results-today-live-updates/",
|
|
||||||
"title": "2019 Women's World Cup: US women's first match today",
|
|
||||||
"snippet": "Match day five of the 2019 FIFA Women's World Cup kicked off in Paris Tuesday afternoon. The day's matches feature New Zealand and the ...",
|
|
||||||
"date": "il y a 1 heureil y a 5 heures",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.npr.org/2019/06/11/731577004/womens-world-cup-u-s-is-ready-excited-hungry-as-it-takes-on-thailand",
|
|
||||||
"title": "Women's World Cup: US Is 'Ready, Excited, Hungry' As It Takes On ...",
|
|
||||||
"snippet": "One game at a time. That's the mantra of the U.S. women's soccer team today, as they play Thailand in their first match of the Women's World ...",
|
|
||||||
"date": "il y a 1 heure10 juin 2019",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnbc.com/2019/06/11/huawei-exec-we-need-more-time-to-become-worlds-top-phone-maker.html",
|
|
||||||
"title": "Huawei exec: We need more time to become the world's top phone ...",
|
|
||||||
"snippet": "China's Huawei Technologies will need more time to become the world's largest smartphone maker, a goal it originally aimed to achieve in the ...",
|
|
||||||
"date": "il y a 10 heuresReutersil y a 13 heures",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.forbes.com/sites/forbespr/2019/06/11/lionel-messi-claims-top-spot-on-forbes-2019-list-of-the-worlds-100-highest-paid-athletes/",
|
|
||||||
"title": "Lionel Messi Claims Top Spot on Forbes' 2019 List Of The World's 100 ...",
|
|
||||||
"snippet": "NEW YORK – June 11, 2019 – Forbes today released its annual ranking of the World's 100 Highest-Paid athletes, who collectively earned $4 billion over the last ...",
|
|
||||||
"date": "il y a 3 heures",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://www.bbc.com/future/story/20190606-the-maths-problem-that-modern-life-depends-on",
|
|
||||||
"title": "The maths problem that could bring the world to a halt",
|
|
||||||
"snippet": "We're demanding creatures, expecting the world to deliver speedy solutions to our increasingly complex and diverse modern-day problems.",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.nytimes.com/2019/06/10/briefing/hong-kong-protests-trade-war-womens-world-cup.html",
|
|
||||||
"title": "Hong Kong, Trade War, World Cup: Your Tuesday Briefing",
|
|
||||||
"snippet": "World Cup: Above, Japan, the 2011 women's World Cup champions, played to a 0-0 draw against Argentina, in Paris. Thailand plays the U.S. ...",
|
|
||||||
"date": "il y a 19 heures",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.nytimes.com/2019/06/11/opinion/fully-automated-luxury-communism.html",
|
|
||||||
"title": "The World Is a Mess. We Need Fully Automated Luxury Communism",
|
|
||||||
"snippet": "Last year Just, a leader in cellular agriculture, cut a deal to start producing one of the world's tastiest steaks, Wagyu. A company called Endless ...",
|
|
||||||
"date": "il y a 5 heures",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/tuesday-briefing-corbyn-cops-it-at-fiery-labour-meeting",
|
|
||||||
"title": "Tuesday briefing: Corbyn cops it at fiery Labour meeting",
|
|
||||||
"snippet": "Jos Buttler is expected to overcome “heavy bruising” to a hip in time for England's World Cup match against West Indies at Southampton on ...",
|
|
||||||
"date": "il y a 10 heures",
|
|
||||||
"rank": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/botswana-high-court-decriminalises-gay-sex",
|
|
||||||
"title": "Botswana scraps laws criminalising gay sex in landmark ruling",
|
|
||||||
"snippet": "High court judges in Botswana have ruled that laws criminalising same-sex relations are unconstitutional and should be struck down, in a major ...",
|
|
||||||
"date": "il y a 2 heures",
|
|
||||||
"rank": 11
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://edition.cnn.com/2019/06/10/football/womens-world-cup-day-four-highlights-spt-intl/index.html",
|
|
||||||
"title": "Draw secures Argentina its first point in Women's World Cup history",
|
|
||||||
"snippet": "(CNN) At the final whistle, goalkeeper Vanina Correa fell to her knees as her teammates embraced each other. Though they had not won, they ...",
|
|
||||||
"date": "il y a 21 heuresBBC Sportil y a 21 heures",
|
|
||||||
"rank": 12
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/leaked-documents-reveal-russian-effort-to-exert-influence-in-africa",
|
|
||||||
"title": "Leaked documents reveal Russian effort to exert influence in Africa",
|
|
||||||
"snippet": "A plan to revive “pan-African consciousness” appears closely modelled on the idea of Russkiy Mir, or Russian world. The concept has become ...",
|
|
||||||
"date": "il y a 4 heures",
|
|
||||||
"rank": 13
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/sport/live/2019/jun/11/bangladesh-v-sri-lanka-cricket-world-cup-2019-live",
|
|
||||||
"title": "Bangladesh v Sri Lanka rained off: Cricket World Cup 2019 – as it didn ...",
|
|
||||||
"snippet": "The umpires have called it off, so Bangladesh and Sri Lanka take a point each, and you'll be able to see the updated league table shortly.",
|
|
||||||
"date": "il y a 6 heuresil y a 2 heures",
|
|
||||||
"rank": 14
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/australian-crocodiles-blamed-for-spate-of-deaths-in-timor-leste",
|
|
||||||
"title": "Australian crocodiles blamed for spate of deaths in Timor-Leste",
|
|
||||||
"snippet": "Some Timorese have turned to an answer more familiar in the world of politics than zoology: they are blaming migrants. Specifically, migrant ...",
|
|
||||||
"date": "il y a 8 heures",
|
|
||||||
"rank": 15
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://fortune.com/2019/06/11/cynicism-about-changing-the-world-ceo-daily/",
|
|
||||||
"title": "Cynicism About Changing the World: CEO Daily",
|
|
||||||
"snippet": "Good morning. It's become fashionable to be cynical about companies claiming to do good in the world. My colleague Adam Lashinsky ...",
|
|
||||||
"date": "il y a 6 heures",
|
|
||||||
"rank": 16
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/hundreds-of-north-korean-execution-sites-identified-says-rights-group",
|
|
||||||
"title": "Hundreds of North Korean execution sites identified, says rights group",
|
|
||||||
"snippet": "South-Korea-based group says it has found more than 300 such sites after interviewing more than 600 defectors. Justin McCurry in Tokyo and ...",
|
|
||||||
"date": "il y a 10 heures",
|
|
||||||
"rank": 17
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnbc.com/2019/06/11/the-worlds-leading-cities-new-york-london-and-paris-face-competition.html",
|
|
||||||
"title": "New York, London and Paris remain the world's most competitive ...",
|
|
||||||
"snippet": "New York, London and Paris continue to dominate as the world's top three most competitive cities. But their prime positions could be up for ...",
|
|
||||||
"date": "il y a 10 heures",
|
|
||||||
"rank": 18
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.buzzfeednews.com/article/gabrielsanchez/this-is-what-kids-are-eating-around-the-world",
|
|
||||||
"title": "This Is What Kids Are Eating Around The World",
|
|
||||||
"snippet": "Photographer Gregg Segal is an expert at visualizing our personal impact on the world around us. In his 2014 series 7 Days of Garbage, Segal ...",
|
|
||||||
"date": "il y a 38 minutes",
|
|
||||||
"rank": 19
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.usatoday.com/story/sports/soccer/worldcup/2019/06/10/2019-world-cup-jill-ellis-wont-respond-hope-solos-criticism/1410374001/",
|
|
||||||
"title": "US coach Jill Ellis refuses to respond to Hope Solo's criticism",
|
|
||||||
"snippet": "Solo, the winner of the Golden Glove at the past two World Cups, is working for the BBC at this year's tournament, which begins for the U.S. on ...",
|
|
||||||
"date": "il y a 19 heuresHuffPostil y a 20 heures",
|
|
||||||
"rank": 20
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.fifa.com/womensworldcup/news/fifa-women-s-world-cup-2019-surpasses-one-million-ticket-milestone",
|
|
||||||
"title": "FIFA Women's World Cup 2019 surpasses one million ticket milestone",
|
|
||||||
"snippet": "Four days after the FIFA Women's World Cup France 2019™ kicked off in style, the tournament has reached an important milestone with over ...",
|
|
||||||
"date": "il y a 7 heuresil y a 43 minutes",
|
|
||||||
"rank": 21
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.sbnation.com/2019/6/10/18660242/estefania-banini-argentina-japan-world-cup-draw",
|
|
||||||
"title": "How Estefania Banini's creativity stymied Japan in Argentina's first ...",
|
|
||||||
"snippet": "So many times during Monday's World Cup match, Argentina held firm against flood after flood of Japan offensives, winning the ball ...",
|
|
||||||
"date": "il y a 18 heuresSounder At Heart10 juin 2019",
|
|
||||||
"rank": 22
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/eu-priorities-climate-buzzwords-critics",
|
|
||||||
"title": "EU climate goals 'just a collection of buzzwords', say critics",
|
|
||||||
"snippet": "Spanning migration, trade and the EU's place in the world, the document avoids details such as targets, budget numbers or specific countries.",
|
|
||||||
"date": "il y a 21 heures",
|
|
||||||
"rank": 23
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.thenation.com/article/press-freedom-arab-west-journalism/",
|
|
||||||
"title": "The World's Dismal Convergence on Press Freedom",
|
|
||||||
"snippet": "Western reporters used to be markedly freer than their colleagues in the Arab world. Can they still claim that privilege?",
|
|
||||||
"date": "il y a 5 heures",
|
|
||||||
"rank": 24
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.co.uk/sport/football/48297077",
|
|
||||||
"title": "Women's World Cup 2019: Lindsey Horan says USA thrive on pressure",
|
|
||||||
"snippet": "Midfielder Lindsey Horan says the USA will thrive on the pressure of being defending champions at the World Cup. The USA, who start their ...",
|
|
||||||
"date": "il y a 5 heures",
|
|
||||||
"rank": 25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.nytimes.com/2019/06/09/us/politics/g20-us-china-trade-war.html",
|
|
||||||
"title": "World Economic Leaders Warn of Fallout From Trade War Between ...",
|
|
||||||
"snippet": "“I don't think in any way that the slowdowns you're seeing in parts of the world are a result of trade tensions at the moment,” Mr. Mnuchin told ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 26
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.surfline.com/surf-news/confirmed-jjf-steph-medina-will-surf-isa-world-surfing-games/53705",
|
|
||||||
"title": "Confirmed: JJF, Steph, Medina and more Will Surf in ISA World Surfing ...",
|
|
||||||
"snippet": "Topping the list are four surfers with multiple World Titles — Steph Gilmore, John John Florence, Gabriel Medina, and Carissa Moore. So, why ...",
|
|
||||||
"date": "il y a 15 heures",
|
|
||||||
"rank": 27
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theverge.com/2019/6/10/18660063/amd-radeon-5700-xt-dent-announcement-price-release-date",
|
|
||||||
"title": "AMD's Radeon 5700 XT wants to put a dent in the world like the dent ...",
|
|
||||||
"snippet": "I've got good news and bad news about AMD's new graphics cards — the just-announced Navi-based Radeon RX 5700 and 5700 XT. If you're ...",
|
|
||||||
"date": "il y a 16 heuresEngadgetil y a 16 heures",
|
|
||||||
"rank": 28
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://deadspin.com/cameroon-the-cinderellas-of-the-last-world-cup-are-ba-1835380442",
|
|
||||||
"title": "Cameroon, The Cinderellas Of The Last World Cup, Are Back For ...",
|
|
||||||
"snippet": "A side effect of women's soccer being so discouraged and underfunded in most every part of the world is that only rarely do we see many true ...",
|
|
||||||
"date": "il y a 21 heures",
|
|
||||||
"rank": 29
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.nationalgeographic.com/culture/2019/06/paul-salopek-finds-hospitality-devotion-india/",
|
|
||||||
"title": "This world-walker finds hospitality and devotion in India",
|
|
||||||
"snippet": "She admonishes the world to have clean thoughts. To use clean words. (Consider whether a woman could walk around the world today.).",
|
|
||||||
"date": "il y a 4 heures",
|
|
||||||
"rank": 30
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/us-envoy-decries-lack-of-foreign-response-to-chinas-attack-on-islam",
|
|
||||||
"title": "US envoy decries lack of response from Islamic world to China's ...",
|
|
||||||
"snippet": "The US envoy on religious liberty has said he is “disappointed” at the response of governments in the Islamic world to China's mass ...",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 31
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/egypt-tries-to-stop-sale-tutankhamun-statue-london",
|
|
||||||
"title": "Egypt tries to stop sale of Tutankhamun statue in London",
|
|
||||||
"snippet": "“There is a longstanding and legitimate market for works of art of the ancient world, in which Christie's has participated for generations.",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 32
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/2019/06/11/tech/us-ban-on-huawei/index.html",
|
|
||||||
"title": "Huawei exec says it has to 'wait a little bit longer' to become the ...",
|
|
||||||
"snippet": "Shanghai (CNN Business) Huawei's plans to become the world's biggest smartphone brand will have to be put on hold, a senior company ...",
|
|
||||||
"date": "il y a 8 heures",
|
|
||||||
"rank": 33
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.indiatoday.in/trending-news/story/ahead-of-world-cup-clash-against-india-pakistani-adverts-mock-abhinandan-varthaman-s-capture-1546685-2019-06-11",
|
|
||||||
"title": "Ahead of World Cup clash against India, Pakistani adverts mock ...",
|
|
||||||
"snippet": "An advertisement aired by a Pakistan TV channel ahead of the clash between India and Pakistan in the ongoing World Cup received severe ...",
|
|
||||||
"date": "il y a 4 heuresil y a 8 heures",
|
|
||||||
"rank": 34
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.indiatoday.in/sports/cricket-world-cup-2019/story/world-cup-2019-shikhar-dhawan-ruled-out-rishabh-pant-shreyas-iyer-replacements-1546525-2019-06-11",
|
|
||||||
"title": "World Cup 2019: Rishabh Pant or Shreyas Iyer likely to replace ...",
|
|
||||||
"snippet": "India are likely to call in either Shreyas Iyer or Rishabh Pant to replace Shikhar Dhawan who has been ruled out of World Cup 2019 after he ...",
|
|
||||||
"date": "il y a 7 heuresil y a 6 heures",
|
|
||||||
"rank": 35
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/malicious-cyber-attack-exposes-travelers-photos-says-us-customs-agency",
|
|
||||||
"title": "'Malicious cyber-attack' exposes travelers' photos, says US customs ...",
|
|
||||||
"snippet": "Breach to a US Customs and Border Protection subcontractor has renewed concerns about facial recognition technology. Sam Levin in San ...",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 36
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cbssports.com/mlb/news/ncaa-baseball-tournament-2019-michigan-upsets-no-1-seed-ucla-college-world-series-eight-team-field-is-set/",
|
|
||||||
"title": "NCAA baseball tournament 2019: Michigan upsets No. 1 seed UCLA ...",
|
|
||||||
"snippet": "1 seed UCLA, College World Series eight-team field is set ... This past weekend six of the eight College World Series spots were finalized ...",
|
|
||||||
"date": "il y a 14 heuresDetroit Free Press10 juin 2019",
|
|
||||||
"rank": 37
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.sbnation.com/2019/6/10/18658814/christine-sinclair-international-goal-record-world-cup-canada",
|
|
||||||
"title": "Christine Sinclair is the World Cup's quietest megastar",
|
|
||||||
"snippet": "When Christine Sinclair faces Cameroon in Canada's first match at the 2019 World Cup, she will have 181 international goals to her name.",
|
|
||||||
"date": "10 juin 20199 juin 2019",
|
|
||||||
"rank": 38
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.co.uk/news/av/uk-england-oxfordshire-48582677/is-15-year-old-shannon-ghee-a-world-cup-star-of-the-future",
|
|
||||||
"title": "Is 15-year-old Shannon Ghee a World Cup star of the future?",
|
|
||||||
"snippet": "With England's World Cup team going from strength to strength, could 15-year-old Shannon Ghee be a star of a future national squad?",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 39
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/prague-memorial-to-jewish-children-who-fled-nazis-vandalised",
|
|
||||||
"title": "Prague memorial to Jewish children who fled Nazis vandalised",
|
|
||||||
"snippet": "At a time when factual information is a necessity, we believe that each of us, around the world, deserves access to accurate reporting with ...",
|
|
||||||
"date": "il y a 20 heures",
|
|
||||||
"rank": 40
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/vatican-launches-guide-to-tackle-educational-crisis-on-gender",
|
|
||||||
"title": "Vatican launches guide to tackle 'educational crisis' on gender",
|
|
||||||
"snippet": "The Vatican has launched into the debate on gender ideology, publishing an educational document called “Male and female he created them” ...",
|
|
||||||
"date": "il y a 15 heures",
|
|
||||||
"rank": 41
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.9news.com.au/world/news-world-man-found-guilty-of-killing-family-of-four-found-in-desert/5cbe73d8-562a-4bfc-b9c4-7dffdef9452b",
|
|
||||||
"title": "Man found guilty of killing family-of-four found in US desert",
|
|
||||||
"snippet": "A man accused of killing a California couple and their two children and burying them in the Mojave Desert has been found guilty of first-degree ...",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 42
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.co.uk/sport/football/48593545",
|
|
||||||
"title": "Women's World Cup 2019: Germany's Dzsenifer Marozsan out with ...",
|
|
||||||
"snippet": "Germany midfielder Dzsenifer Marozsan could miss the rest of the Women's World Cup after breaking her toe in the opening Group B game on ...",
|
|
||||||
"date": "il y a 3 heures",
|
|
||||||
"rank": 43
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://fivethirtyeight.com/features/who-will-power-the-u-s-womens-national-team/",
|
|
||||||
"title": "The Americans Who Are Expected To Crush The World Cup",
|
|
||||||
"snippet": "The U.S. women's national soccer team kicks off its campaign to win its fourth World Cup trophy on Tuesday. Watch the video above to learn ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 44
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/russian-papers-join-forces-in-solidarity-with-detained-journalist-ivan-golunov",
|
|
||||||
"title": "Kremlin says mistakes may have been made over arrest of journalist",
|
|
||||||
"snippet": "The Kremlin has admitted mistakes may have been made by police during the arrest of Ivan Golunov, an investigative journalist, on ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 45
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.mirror.co.uk/3am/celebrity-news/im-celebritys-sam-quek-defends-16497760",
|
|
||||||
"title": "I'm A Celebrity's Sam Quek defends 'sexist' comment about World Cup ...",
|
|
||||||
"snippet": "I'm A Celebrity's Sam Quek defends 'sexist' comment about World Cup ... trolls who claim her comments about an all-woman World Cup panel.",
|
|
||||||
"date": "il y a 12 heures",
|
|
||||||
"rank": 46
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/travel/article/dubai-museum-of-the-future-intl/index.html",
|
|
||||||
"title": "Dubai's Museum of the Future: A new world icon?",
|
|
||||||
"snippet": "Editor's Note — CNN's series often carry sponsorship originating from the countries and regions we profile. However, CNN retains full editorial ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 47
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.nytimes.com/2019/06/09/sports/australia-vs-italy-womens-world-cup.html",
|
|
||||||
"title": "Italy Stuns Australia at Women's World Cup With Last-Minute Winner",
|
|
||||||
"snippet": "It was a triumphant return to the World Cup for Italy, a power in men's soccer that was making its first appearance in the Women's World Cup ...",
|
|
||||||
"date": "9 juin 20199 juin 2019",
|
|
||||||
"rank": 48
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.co.uk/sport/cricket/48596591",
|
|
||||||
"title": "Cricket World Cup: David Warner will be back to 'dangerous best'",
|
|
||||||
"snippet": "Australia captain Aaron Finch says opener David Warner will return to his \"dangerous best\" after criticism of his batting at the World Cup.",
|
|
||||||
"date": "il y a 1 heureIndia Todayil y a 6 heures",
|
|
||||||
"rank": 49
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://edition.cnn.com/2019/06/10/football/womens-world-cup-statistics-spt-intl/index.html",
|
|
||||||
"title": "Women's World Cup in numbers",
|
|
||||||
"snippet": "(CNN) Aged 41 years and 98 days, Formiga stepped onto the pitch in Grenoble on Sunday and without even kicking the ball the unassuming ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 50
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.freep.com/story/sports/college/university-michigan/2019/06/10/college-world-series-schedule-2019/1410109001/",
|
|
||||||
"title": "College World Series schedule: Find out when Michigan baseball plays",
|
|
||||||
"snippet": "For the 70th straight year, the College World Series will take place in Omaha, Nebraska, and it'll be held at TD Ameritrade Park. Michigan ...",
|
|
||||||
"date": "il y a 11 heures247Sportsil y a 15 heures",
|
|
||||||
"rank": 51
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/2019/06/11/tech/5g-networks-ericsson/index.html",
|
|
||||||
"title": "Half of the world will have 5G coverage in five years",
|
|
||||||
"snippet": "London (CNN Business) Ericsson says that \"rapid early momentum\" and consumer enthusiasm means the switch to 5G is happening much ...",
|
|
||||||
"date": "il y a 1 heure",
|
|
||||||
"rank": 52
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://news.sky.com/story/british-man-killed-after-losing-control-during-mountain-base-jump-11739522",
|
|
||||||
"title": "British man killed after losing control during mountain base jump",
|
|
||||||
"snippet": "A British man has died in Italy after his 3,000m (9,842ft) base jump from a mountain range went wrong. Jean Andre Quemener, from Jersey, ...",
|
|
||||||
"date": "il y a 7 heures",
|
|
||||||
"rank": 53
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://edition.cnn.com/2019/06/11/sport/john-gosden-horse-racing-trainer-kings-rulers-royals-winning-post-spt-intl/index.html",
|
|
||||||
"title": "John Gosden: A trainer to rulers, royals and billionaires",
|
|
||||||
"snippet": "... as the antidote to the Coolmore and Godolphin operations, breaking their hegemony to win some of the world's biggest races from the Epsom ...",
|
|
||||||
"date": "il y a 4 heures",
|
|
||||||
"rank": 54
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/brazil-lula-sergio-moro-judge-collaborated-with-prosecutors",
|
|
||||||
"title": "Brazil reels at claims judge who jailed Lula collaborated with ...",
|
|
||||||
"snippet": "Leaked cellphone chats published by the Intercept suggest Sérgio Moro, now justice minister, steered case against ex-president. Dom Phillips ...",
|
|
||||||
"date": "il y a 21 heures",
|
|
||||||
"rank": 55
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theverge.com/2019/6/11/18660985/pubg-mobile-monthly-revenue-players-highest-grossing-mobile-game",
|
|
||||||
"title": "PUBG Mobile is now reportedly the world's highest-grossing mobile ...",
|
|
||||||
"snippet": "PUBG Mobile is not only the most popular mobile game in the world, with more than 100 million monthly players, it's now also the top grossing: ...",
|
|
||||||
"date": "il y a 6 heures",
|
|
||||||
"rank": 56
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.indiatoday.in/sports/cricket-world-cup-2019/story/india-vs-australia-world-cup-2019-virat-kohli-post-match-reaction-1546391-2019-06-11",
|
|
||||||
"title": "India cruising towards World Cup 2019 semi-finals? Too early to ...",
|
|
||||||
"snippet": "India made quite a statement with their clinical victory against holders Australia but captain Virat Kohli is not entertaining any premature ...",
|
|
||||||
"date": "il y a 11 heuresMetroil y a 16 heures",
|
|
||||||
"rank": 57
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.counterpunch.org/2019/06/10/while-the-world-watches-trump-its-missing-whats-really-going-on/",
|
|
||||||
"title": "While the World Watches Trump, It's Missing What's Really Going On",
|
|
||||||
"snippet": "Our leaders know how to bang the war drums and, by and large, we go along with them. The US threatens Iran with war – so will Iran close the ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 58
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.rollingstone.com/tv/tv-reviews/pose-season-2-review-845765/",
|
|
||||||
"title": "'Pose' Season 2 Review: A Revolutionary World Where Hope Prevails",
|
|
||||||
"snippet": "A very odd thing kept happening to me as I watched the first season of Pose, FX's drama about New York's drag ball scene in the Eighties and ...",
|
|
||||||
"date": "il y a 21 heures",
|
|
||||||
"rank": 59
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.clarionledger.com/story/sports/college/mississippi-state/2019/06/09/mississippi-state-baseball-ncaa-tournament-college-world-series-omaha-stanford-super-regional-espn/1405896001/",
|
|
||||||
"title": "On to Omaha: Mississippi State back in College World Series after ...",
|
|
||||||
"snippet": "STARKVILLE – The fans at Dudy Noble Field were abnormally boisterous when Mississippi State junior catcher Dustin Skelton stepped to the ...",
|
|
||||||
"date": "il y a 11 heures",
|
|
||||||
"rank": 60
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cbssports.com/soccer/world-cup/news/womens-world-cup-odds-predictions-2019-betting-lines-top-expert-picks-for-netherlands-vs-new-zealand/",
|
|
||||||
"title": "Women's World Cup odds, predictions 2019: Betting lines, top expert ...",
|
|
||||||
"snippet": "Two teams full of experience collide Tuesday when the Netherlands and New Zealand square off at the 2019 Women's World Cup.",
|
|
||||||
"date": "il y a 20 heures",
|
|
||||||
"rank": 61
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.tennessean.com/story/sports/college/vanderbilt/2019/06/09/vanderbilt-duke-baseball-live-score-updates-ncaa-tournament-2019-super-regionals-game-3/1322543001/",
|
|
||||||
"title": "Vanderbilt baseball headed to College World Series, beats Duke in ...",
|
|
||||||
"snippet": "Vanderbilt baseball is back in the College World Series. The Commodores beat Duke 13-2 on Sunday in the Nashville Super Regional title ...",
|
|
||||||
"date": "il y a 17 heures",
|
|
||||||
"rank": 62
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://highposthoops.com/2019/06/11/before-becky-sauerbrunn-was-a-world-cup-soccer-champion-high-school-basketball-standout/",
|
|
||||||
"title": "Before Becky Sauerbrunn was a World Cup soccer champion, she ...",
|
|
||||||
"snippet": "Becky Sauerbrunn, a 34-year-old defender and two-time Olympian, will co-captain the United States national soccer team at this month's ...",
|
|
||||||
"date": "il y a 1 heure",
|
|
||||||
"rank": 63
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://onwardstate.com/2019/06/11/penn-state-womens-soccer-alums-uswnt-to-kick-off-world-cup-campaign-against-thailand/",
|
|
||||||
"title": "Penn State Women's Soccer Alums, USWNT To Kick Off World Cup ...",
|
|
||||||
"snippet": "Ali Krieger and Alyssa Naeher will both assist in this year's title defense after helping the USWNT to claim its third World Cup in 2015. The duo ...",
|
|
||||||
"date": "il y a 7 heures",
|
|
||||||
"rank": 64
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.volcanodiscovery.com/earthquake/news/81377/Earthquake-report-world-wide-for-Tuesday-11-Jun-2019.html",
|
|
||||||
"title": "Earthquake report world-wide for Tuesday, 11 Jun 2019",
|
|
||||||
"snippet": "Earthquake report world-wide for Tuesday, 11 Jun 2019. Tuesday Jun 11, 2019 11:20 AM | BY: EARTHQUAKEMONITOR. World map showing earthquakes ...",
|
|
||||||
"date": "il y a 15 heures",
|
|
||||||
"rank": 65
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/saudi-teenager-could-face-execution-protests-child-murtaja-qureiris",
|
|
||||||
"title": "Saudi teenager could face execution for joining protests as child",
|
|
||||||
"snippet": "A young Saudi man, arrested when he was 13, could face execution for taking part in Shia-led protests as a child, Amnesty International has ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 66
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.news.com.au/lifestyle/food/eat/avocado-smash-the-simple-australian-dish-the-world-cant-get-right/news-story/0a20ffcb925e2184c6813778ddbfe32f",
|
|
||||||
"title": "Avocado smash: The simple Australian dish the world can't get right",
|
|
||||||
"snippet": "The rest of the world has now caught on to this Aussie favourite, with avo smash popping up in cafes and supermarkets from New York to ...",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 67
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/2019/06/09/us/oklahoma-pride-flag-truck/index.html",
|
|
||||||
"title": "How a message of acceptance from rural Oklahoma touched people ...",
|
|
||||||
"snippet": "(CNN) When Cody Barlow missed the Pride parade in Tulsa -- the closest celebration to his rural Oklahoma town -- he found another way to be ...",
|
|
||||||
"date": "9 juin 2019Channel3000.com - WISC-TV39 juin 2019",
|
|
||||||
"rank": 68
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.air-journal.fr/2019-06-11-world-travel-awards-europe-turkish-aeroflot-norwegian-tap-5212988.html",
|
|
||||||
"title": "World Travel Awards Europe: Turkish, Aeroflot, Norwegian, TAP….",
|
|
||||||
"snippet": "La compagnie aérienne Turkish Airlines a été couronnée meilleur compagnie européenne aux World Travel Awards Europe 2019, Aeroflot ...",
|
|
||||||
"date": "il y a 9 heures",
|
|
||||||
"rank": 69
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.thesun.co.uk/news/9266829/salvator-mundi-boat-leonardo-da-vinci/",
|
|
||||||
"title": "'Missing' £350m Leonardo da Vinci masterpiece – the world's most ...",
|
|
||||||
"snippet": "A LEONARDO da Vinci masterpiece which has been “missing” for the past two years has reportedly been found on the Saudi crown prince's ...",
|
|
||||||
"date": "il y a 8 heuresNew Straits Times Onlineil y a 15 heures",
|
|
||||||
"rank": 70
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.wwaytv3.com/2019/06/11/uncw-goalkeeper-taking-the-world-cup-by-storm/",
|
|
||||||
"title": "UNCW goalkeeper taking Women's World Cup by storm",
|
|
||||||
"snippet": "WILMINGTON, NC (WWAY)– The Jamaican women's national team was shutout in their FIFA World Cup opener by Brazil on Sunday 3-0, but ...",
|
|
||||||
"date": "il y a 10 heures8 juin 2019",
|
|
||||||
"rank": 71
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.indiatoday.in/sports/cricket-world-cup-2019/story/world-cup-2019-south-africa-vs-west-indies-faf-du-plessis-post-match-reaction-1546499-2019-06-11",
|
|
||||||
"title": "World Cup 2019: Feeling in camp still very strong, says South Africa ...",
|
|
||||||
"snippet": "South Africa's washed-out World Cup game against the West Indies has put them in danger of being ousted from semifinal contention but ...",
|
|
||||||
"date": "il y a 8 heures10 juin 2019",
|
|
||||||
"rank": 72
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.tsn.ca/canada-opens-fifa-women-s-world-cup-with-victory-over-cameroon-1.1319980",
|
|
||||||
"title": "Canada opens Women's World Cup with victory over Cameroon",
|
|
||||||
"snippet": "Sinclair, who turns 36 on Wednesday, became Canada's oldest player to feature at a World Cup. The star striker from Burnaby, B.C., at her fifth ...",
|
|
||||||
"date": "il y a 18 heuresSportsnet.cail y a 17 heures",
|
|
||||||
"rank": 73
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.telegraph.co.uk/world-cup/2019/06/11/germanysdzsenifer-marozsan-miss-rest-world-cup-group-phase-breaking/",
|
|
||||||
"title": "Germany's Dzsenifer Marozsan to miss rest of World Cup group phase ...",
|
|
||||||
"snippet": "Germany's Dzsenifer Marozsan will miss the rest of the World Cup group phase after breaking a toe in their Group B opening win over China on ...",
|
|
||||||
"date": "il y a 3 heures",
|
|
||||||
"rank": 74
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.express.co.uk/news/uk/1138765/brexit-news-eu-european-union-tory-leadership-peter-shore-referendum-1975-spt",
|
|
||||||
"title": "'It is the world we belong to!' Peter Shore's brilliant Brexit argument ...",
|
|
||||||
"snippet": "\"Beyond that, we should recall the fact that our horizon and the concerns that we have in the world as a country and as people are not limited to ...",
|
|
||||||
"date": "il y a 21 heures",
|
|
||||||
"rank": 75
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.volcanodiscovery.com/earthquake/news/81342/Earthquake-report-world-wide-for-Monday-10-Jun-2019.html",
|
|
||||||
"title": "Earthquake report world-wide for Monday, 10 Jun 2019",
|
|
||||||
"snippet": "Earthquake report world-wide for Monday, 10 Jun 2019. Monday Jun 10, 2019 23:20 PM | BY: EARTHQUAKEMONITOR. World map showing earthquakes ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 76
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.letsrun.com/news/2019/06/the-greatest-ultramarathons-in-the-world-the-triple-crown-of-ultras-comrades-western-states-utmb/",
|
|
||||||
"title": "The Greatest Ultramarathons In The World: The “Triple Crown of Ultras ...",
|
|
||||||
"snippet": "Picking those three as the big three of the ultramarathon world wasn't hard at all. When we started asking “what are the best ultras in the world?",
|
|
||||||
"date": "il y a 18 heures",
|
|
||||||
"rank": 77
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.economist.com/business/2019/06/09/ghost-workers-of-the-world-form-a-guild",
|
|
||||||
"title": "BartlebyGhost workers of the world, form a guild!",
|
|
||||||
"snippet": "THE DEBATE about the future of work tends to divide commentators into two camps. The optimistic case is that technology may cause ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 78
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/10/canada-ban-single-use-plastics-bags-bottles-straws-2021",
|
|
||||||
"title": "Canada will ban 'harmful' single-use plastics as early as 2021",
|
|
||||||
"snippet": "How do you explain dead whales washing up on beaches around the world, their stomachs jam-packed with plastic bags?” Trudeau said.",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 79
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://cruxnow.com/vatican/2019/06/10/nuncios-from-around-the-world-to-meet-with-pope/",
|
|
||||||
"title": "Nuncios from around the world to meet with pope",
|
|
||||||
"snippet": "ROME - Pope Francis has called Vatican nuncios to countries around the world and permanent observers at the U.N. and other agencies to a ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 80
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.tsn.ca/must-see/video/must-see-buchanan-scores-opening-goal-for-canada-at-world-cup~1703693",
|
|
||||||
"title": "Must See: Buchanan scores opening goal for Canada at World Cup",
|
|
||||||
"snippet": "Must See: Buchanan scores opening goal for Canada at World Cup ... kick to give Canada its first goal of the FIFA Women's World Cup against Cameroon.",
|
|
||||||
"date": "il y a 19 heures",
|
|
||||||
"rank": 81
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://edition.cnn.com/2019/06/09/football/england-scotland-rivalry-womens-world-cup-spt-intl/index.html",
|
|
||||||
"title": "England v Scotland: Women's World Cup set to host one of the biggest ...",
|
|
||||||
"snippet": "(CNN) On Sunday, old enemies will go head-to-head as England take on Scotland at the Women's World Cup, continuing a rivalry that is like ...",
|
|
||||||
"date": "8 juin 201910 juin 2019",
|
|
||||||
"rank": 82
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.telegraph.co.uk/cricket/2019/06/11/pleasure-watch-england-still-world-cup-favourites-others-equipped/",
|
|
||||||
"title": "A pleasure to watch, England are still World Cup favourites - but others ...",
|
|
||||||
"snippet": "There will be many matches in this World Cup with tight situations when West Indies could go either way. It will come down to which players are ...",
|
|
||||||
"date": "il y a 9 heures",
|
|
||||||
"rank": 83
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://news.artnet.com/opinion/kenny-schachter-on-the-missing-salvator-mundi-1565674",
|
|
||||||
"title": "Where In the World Is 'Salvator Mundi'? Kenny Schachter Reveals the ...",
|
|
||||||
"snippet": "When I received intel from a source with deep Middle Eastern ties as to the possible whereabouts of Salvator Mundi, the world's most ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 84
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.telegraph.co.uk/news/2019/06/10/womens-world-cup-schoolgirl-challenges-tesco-sainsburys-finding/",
|
|
||||||
"title": "Women's World Cup : schoolgirl challenges Tesco and Sainsbury's ...",
|
|
||||||
"snippet": "Immy, from Horsham, West Sussex, wrote in her letter: “I love football and I have been very excited about watching the Women's World Cup.",
|
|
||||||
"date": "il y a 19 heures",
|
|
||||||
"rank": 85
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/world/2019/jun/11/mystery-deaths-among-indigenous-malaysians-prompt-speculation",
|
|
||||||
"title": "Mystery deaths among indigenous Malaysians prompt speculation",
|
|
||||||
"snippet": "At a time when factual information is a necessity, we believe that each of us, around the world, deserves access to accurate reporting with ...",
|
|
||||||
"date": "il y a 2 heures",
|
|
||||||
"rank": 86
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/sport/2019/jun/11/afl-world-marvels-at-patrick-cripps-superhero-like-display-for-carlton",
|
|
||||||
"title": "AFL world marvels at Patrick Cripps' superhero-like display for Carlton",
|
|
||||||
"snippet": "AFL world marvels at Patrick Cripps' superhero-like display for Carlton ... to be his best self, suffering the humiliations of the corporeal world.",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 87
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.co.uk/sport/cricket/48589701",
|
|
||||||
"title": "Cricket World Cup: Net bowler struck by David Warner drive 'finally ...",
|
|
||||||
"snippet": "Praha was among a handful of local cricketers helping the Australians prepare for their third match of the World Cup in London, which they lost ...",
|
|
||||||
"date": "il y a 19 heuresil y a 17 heures",
|
|
||||||
"rank": 88
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.indiatoday.in/sports/cricket-world-cup-2019/story/world-cup-2010-hardik-pandya-could-be-compared-to-lance-klusener-feels-steve-waugh-1546476-2019-06-11",
|
|
||||||
"title": "World Cup 2010: Hardik Pandya could be compared to Lance ...",
|
|
||||||
"snippet": "Former Australia captain Steve Waugh foresees Hardik Pandya dominating the ongoing World Cup the way South African Lance Klusener did ...",
|
|
||||||
"date": "il y a 8 heures",
|
|
||||||
"rank": 89
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.smh.com.au/sport/cricket/mitch-marsh-joins-world-cup-as-cover-for-injured-stoinis-20190611-p51wp5.html",
|
|
||||||
"title": "Mitch Marsh joins World Cup as cover for injured Stoinis",
|
|
||||||
"snippet": "Somerset: Mitch Marsh has been called in to Australia's World Cup squad as cover for injured all rounder Marcus Stoinis. Stoinis has a side ...",
|
|
||||||
"date": "il y a 4 heures",
|
|
||||||
"rank": 90
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/2019/06/09/world/sydney-schneider-jamaica-world-cup-trnd/index.html",
|
|
||||||
"title": "She's only 19 -- and just made tremendous saves as Jamaica's goalie ...",
|
|
||||||
"snippet": "(CNN) No one expected Jamaica to beat or even tie Brazil in their opening Women's World Cup game Sunday. After all, Brazil is one of the best ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 91
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cricket.com.au/news/australia-pakistan-classic-world-cup-matches-wahab-riaz-shane-watson-symonds/2019-06-11",
|
|
||||||
"title": "Five Australia v Pakistan World Cup classics",
|
|
||||||
"snippet": "Ahead of Australia's clash with Pakistan on Wednesday, take a look back on some memorable World Cup matches between the two countries.",
|
|
||||||
"date": "il y a 16 heures",
|
|
||||||
"rank": 92
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/artanddesign/2019/jun/10/labiomista-eco-park-koen-vanmechelen-genk-biodiversity",
|
|
||||||
"title": "Animal crackers: inside the world's most madcap menagerie",
|
|
||||||
"snippet": "With its Frankenstein fauna and cosmopolitan chickens, Belgian artist Koen Vanmechelen's eco-park puts the perverse into biodiversity.",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 93
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.ft.com/content/d4fdfb3c-8b6a-11e9-b8cb-26a9caa9d67b",
|
|
||||||
"title": "UK's net zero emissions plan can help lead the world",
|
|
||||||
"snippet": "The British government is expected shortly to announce legislation to commit the country to net-zero greenhouse gas emissions by 2050.",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 94
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/sport/live/2019/jun/09/cricket-world-cup-2019-india-v-australia-live",
|
|
||||||
"title": "India beat Australia by 36 runs at Cricket World Cup – as it happened",
|
|
||||||
"snippet": "Unlike many news organisations, we chose an approach that means all our reporting is free and available for everyone. We need your support ...",
|
|
||||||
"date": "9 juin 2019il y a 22 heures",
|
|
||||||
"rank": 95
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.lequipe.fr/Triathlon/Actualites/World-triathlon-series-vincent-luis-se-classe-sixieme/1027919",
|
|
||||||
"title": "World Triathlon Series : Vincent Luis se classe sixième",
|
|
||||||
"snippet": "Vincent Luis a terminé sixième de l'étape des World Series de Leeds (Angleterre) l'une des plus relevées de la saison, dimanche, confortant ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 96
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.sport24.co.za/Rugby/world-cup-blow-for-all-blacks-wing-20190611",
|
|
||||||
"title": "World Cup blow for All Blacks wing",
|
|
||||||
"snippet": "Cape Town - All Blacks and Hurricanes wing Nehe Milner-Skudder's hopes of playing in the 2019 Rugby World Cup has suffered a further ...",
|
|
||||||
"date": "il y a 5 heuresNewshubil y a 12 heures",
|
|
||||||
"rank": 97
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://edition.cnn.com/2019/06/10/football/christiane-endler-chile-psg-femenines-womens-world-cup-spt-intl/index.html",
|
|
||||||
"title": "Women's World Cup: Christiane Endler, the Chile keeper who is ...",
|
|
||||||
"snippet": "\"We're very excited that we'll do exactly that and very emotional to live a first World Cup. I hope to arrive (in France) in the best condition ...",
|
|
||||||
"date": "10 juin 2019",
|
|
||||||
"rank": 98
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.irishexaminer.com/breakingnews/views/analysis/africa-can-feed-not-only-itself-but-the-world-929696.html",
|
|
||||||
"title": "Africa can feed not only itself, but the world",
|
|
||||||
"snippet": "After all, in the developing world, rural smallholders — most of whom own less than four hectares of farmland — comprise the majority of all ...",
|
|
||||||
"date": "9 juin 2019",
|
|
||||||
"rank": 99
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.abc.net.au/news/2019-06-11/equinor-great-australian-bight-drilling-oil-prices-slump/11186470",
|
|
||||||
"title": "World oil price slump and trade tensions unlikely to deter Great ...",
|
|
||||||
"snippet": "An international slump in oil prices due to trade tensions between the United States and China is unlikely to deter a Norwegian company from ...",
|
|
||||||
"date": "il y a 18 heures",
|
|
||||||
"rank": 100
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"Berlin Zahnarzt": {
|
|
||||||
"1": {
|
|
||||||
"time": "Sat, 29 Jun 2019 14:57:26 GMT"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"news": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:32:56 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "195.000.000 Ergebnisse",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.bz-berlin.de/thema/berlin-news",
|
|
||||||
"title": "Berlin News – B.Z. Berlin",
|
|
||||||
"snippet": "Berlin Top-News: 24 Stunden Nachrichten aus Berlin mit Meldungen aus Politik, Wirtschaft, Tatort und Polizei sowie Sport-News und Liveticker",
|
|
||||||
"visible_link": "https://www.bz-berlin.de/thema/berlin-news",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://news.google.com/?hl=de&gl=DE&ceid=DE:de",
|
|
||||||
"title": "Google News",
|
|
||||||
"snippet": "Ausführliche und aktuelle Beiträge - von Google News aus verschiedenen Nachrichtenquellen aus aller Welt zusammengetragen",
|
|
||||||
"visible_link": "https://news.google.com/?hl=de&gl=DE&ceid=DE:de",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bild.de/news/startseite/news/news-16804530.bild.html",
|
|
||||||
"title": "News aktuell: Nachrichten aus Deutschland und der Welt ...",
|
|
||||||
"snippet": "Aktuelle News aus Deutschland, Europa und der Welt. Alle Informationen, Bilder und Videos zu Skandalen, Krisen und Sensationen bei BILD.de.",
|
|
||||||
"visible_link": "https://www.bild.de/news",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://www.news.de/",
|
|
||||||
"title": "news.de - mehr als Nachrichten und News, die Sie bewegen",
|
|
||||||
"snippet": "Promi News und Aktuelles aus Sport, TV & Web. Jetzt Sportnachrichten von Fußball bis Boxen und das Neueste aus Klatsch und Tratsch per Newsticker, Fotos & Videos verfolgen! Neben den aktuellen Nachrichten aus Politik und Wirtschaft unterhalten wir Sie mit Promi-News, live News zum Bundesliga-Endspurt und aktuellen TV-Events.",
|
|
||||||
"visible_link": "www.news.de",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.mopo.de/news",
|
|
||||||
"title": "News - Aktuelle Nachrichten aus Deutschland und der Welt ...",
|
|
||||||
"snippet": "News - Aktuelle Nachrichten aus Hamburg, der Welt, zum HSV und der Welt der Promis.",
|
|
||||||
"visible_link": "https://www.mopo.de/news",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.n-tv.de/",
|
|
||||||
"title": "Nachrichten, aktuelle Schlagzeilen und Videos - n-tv.de",
|
|
||||||
"snippet": "Nachrichten seriös, schnell und kompetent. Artikel und Videos aus Politik, Wirtschaft, Börse, Sport und News aus aller Welt.",
|
|
||||||
"visible_link": "https://www.n-tv.de",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://www.news.de/aktuelles/849808450/",
|
|
||||||
"title": "Nachrichten aktuell: Schlagzeilen heute & aktuelle News ...",
|
|
||||||
"snippet": "Aktuelle Schlagzeilen und Hintergründe aus Deutschland, Europa und der Welt. Lesen Sie auf news.de die neuesten Meldungen aus Politik, Wirtschaft & Sport.",
|
|
||||||
"visible_link": "www.news.de/aktuelles/849808450",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.gala.de/stars/news/",
|
|
||||||
"title": "Alle News der Stars und exklusive VIP-News | GALA.de",
|
|
||||||
"snippet": "News zu Stars und VIPs: Ob Hollywood-Schauspieler, TV-Liebling, C-Promi oder Supermodel - auf GALA.de verpassen Sie keine News zu ihrem Star.",
|
|
||||||
"visible_link": "https://www.gala.de/stars/news",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bbc.com/news",
|
|
||||||
"title": "Home - BBC News",
|
|
||||||
"snippet": "Visit BBC News for up-to-the-minute news, breaking news, video, audio and feature stories. BBC News provides trusted World and UK news as well as local and regional perspectives. Also ...",
|
|
||||||
"visible_link": "https://www.bbc.com/news",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.cnn.com/",
|
|
||||||
"title": "CNN - Breaking News, Latest News and Videos",
|
|
||||||
"snippet": "View the latest news and breaking news today for U.S., world, weather, entertainment, politics and health at CNN.com.",
|
|
||||||
"visible_link": "https://www.cnn.com",
|
|
||||||
"rank": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"se-scraper": {
|
|
||||||
"1": {
|
|
||||||
"time": "Tue, 11 Jun 2019 16:32:58 GMT",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"num_results": "48.200 Ergebnisse",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "http://konjugator.reverso.net/konjugation-franzosisch-verb-ne%20pas%20se%20scraper.html",
|
|
||||||
"title": "Konjugation ne pas se scraper | Konjugieren verb …",
|
|
||||||
"snippet": "Reverso-Konjugation: Konjugation des französischen Verbs ne pas se scraper, Konjugator für französische Verben, unregelmäßige Verben, Übersetzung,Grammatik",
|
|
||||||
"visible_link": "konjugator.reverso.net/konjugation-franzosisch-verb-ne pas se scraper.html",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://github.com/NikolaiT/se-scraper",
|
|
||||||
"title": "GitHub - NikolaiT/se-scraper: Javascript scraping …",
|
|
||||||
"snippet": "Search Engine Scraper - se-scraper. This node module allows you to scrape search engines concurrently with different proxies. If you don't have much technical experience or don't want to purchase proxies, you can use my scraping service.",
|
|
||||||
"visible_link": "https://github.com/NikolaiT/se-scraper",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.amazon.de/Calli-Silikon-Frischk%C3%83%C2%A4se-Scraper-Anr%C3%83%C2%BChrspatel/dp/B01JJ96FPG",
|
|
||||||
"title": "Calli Silikon Frischkäse Butter Scraper Butter Batter ...",
|
|
||||||
"snippet": "Amazon.de: Küchen- und Haushaltsartikel online - Calli Silikon Frischkäse Butter Scraper Butter Batter Anrührspatel. Beschreibung: Die Silikon Sahnebutter Schaber aus reinem Silikon. Mit einem.",
|
|
||||||
"visible_link": "https://www.amazon.de/Calli-Silikon-Frischkäse-Scraper-Anrührspatel/dp/B01JJ96FPG",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://snyk.io/test/github/NikolaiT/se-scraper",
|
|
||||||
"title": "Vulnerability report for NikolaiT/se-scraper | Snyk",
|
|
||||||
"snippet": "No vulnerabilities found in se-scraper. View the full report.",
|
|
||||||
"visible_link": "https://snyk.io/test/github/NikolaiT/se-scraper",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://libraries.io/npm/se-scraper/1.0.1",
|
|
||||||
"title": "se-scraper 1.0.1 on npm - Libraries.io",
|
|
||||||
"snippet": "Search Engine Scraper - se-scraper. This node module allows you to scrape search engines concurrently with different proxies. If you don't have much technical experience or don't want to purchase proxies, you can use my scraping service.",
|
|
||||||
"visible_link": "https://libraries.io/npm/se-scraper/1.0.1",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.idealo.de/preisvergleich/OffersOfProduct/3071147_-multi-purpose-scraper-toko.html",
|
|
||||||
"title": "Toko Multi-Purpose Scraper ab 3,99 € | Preisvergleich bei ...",
|
|
||||||
"snippet": "Versand innerhalb von 3 Werktagen nach Zahlungseingang.",
|
|
||||||
"visible_link": "https://www.idealo.de/preisvergleich/OffersOfProduct/3071147_-multi-purpose-scraper...",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://woerterbuch.reverso.net/franzosisch-definitionen/se+scraper",
|
|
||||||
"title": "se scraper Definition | Französisch Definition Wörterbuch ...",
|
|
||||||
"snippet": "Definition se scraper Franzosisch, Synonym und Antonym, Siehe auch 'scrapeur',scrap',scrapie',scalper'",
|
|
||||||
"visible_link": "https://woerterbuch.reverso.net/franzosisch-definitionen/se+scraper",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.sonic-equipment.com/se/scraper-10233.html",
|
|
||||||
"title": "Scraper - sonic-equipment.com",
|
|
||||||
"snippet": "Universal scraper for removing sealants, filler, gaskets etc.",
|
|
||||||
"visible_link": "https://www.sonic-equipment.com/se/scraper-10233.html",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://github.com/NikolaiT/se-scraper/blob/master/examples/results/data.json",
|
|
||||||
"title": "se-scraper/data.json at master · NikolaiT/se-scraper · GitHub",
|
|
||||||
"snippet": "Javascript scraping module based on puppeteer for many different search engines... - NikolaiT/se-scraper",
|
|
||||||
"visible_link": "https://github.com/NikolaiT/se-scraper/blob/master/examples/results/data.json",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.friatec.de/content/friatec/en/Technical-Plastics/FRIATOOLS-Technical-Equipment/Downloads/index.html",
|
|
||||||
"title": "Downloads",
|
|
||||||
"snippet": "Downloads Online Catalog. Product Range 2018. General Brochures. Technical Plastics - Image brochure. Product Range 2019 (PDF) KATALOG 2018 (SK) FRIATEC Image brochure. Safety data sheet care spray. Brochures Fusion Units . FRIAMAT prime and basic. FRIAMAT prime eco (2018) FRIAMAT basic eco (2018) FRIAMAT print eco (2018) The new FRIAMAT. Flyer FRIAMAT prime, basic eco. …",
|
|
||||||
"visible_link": "https://www.friatec.de/.../FRIATOOLS-Technical-Equipment/Downloads/index.html",
|
|
||||||
"rank": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,172 +0,0 @@
|
|||||||
{ 'scraping scrapeulous.com':
|
|
||||||
{ '1':
|
|
||||||
{ time: 'Tue, 29 Jan 2019 21:39:22 GMT',
|
|
||||||
num_results: 'Ungefähr 145 Ergebnisse (0,18 Sekunden) ',
|
|
||||||
no_results: false,
|
|
||||||
effective_query: '',
|
|
||||||
results:
|
|
||||||
[ { link: 'https://scrapeulous.com/',
|
|
||||||
title:
|
|
||||||
'Scrapeuloushttps://scrapeulous.com/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Scrapeulous.com allows you to scrape various search engines automatically ... or to find hidden links, Scrapeulous.com enables you to scrape a ever increasing ...',
|
|
||||||
visible_link: 'https://scrapeulous.com/',
|
|
||||||
date: '',
|
|
||||||
rank: 1 },
|
|
||||||
{ link: 'https://scrapeulous.com/about/',
|
|
||||||
title:
|
|
||||||
'About - Scrapeuloushttps://scrapeulous.com/about/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Scrapeulous.com allows you to scrape various search engines automatically and in large quantities. The business requirement to scrape information from ...',
|
|
||||||
visible_link: 'https://scrapeulous.com/about/',
|
|
||||||
date: '',
|
|
||||||
rank: 2 },
|
|
||||||
{ link: 'https://scrapeulous.com/howto/',
|
|
||||||
title:
|
|
||||||
'Howto - Scrapeuloushttps://scrapeulous.com/howto/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'We offer scraping large amounts of keywords for the Google Search Engine. Large means any number of keywords between 40 and 50000. Additionally, we ...',
|
|
||||||
visible_link: 'https://scrapeulous.com/howto/',
|
|
||||||
date: '',
|
|
||||||
rank: 3 },
|
|
||||||
{ link: 'https://github.com/NikolaiT/se-scraper',
|
|
||||||
title:
|
|
||||||
'GitHub - NikolaiT/se-scraper: Javascript scraping module based on ...https://github.com/NikolaiT/se-scraperIm CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'24.12.2018 - Javascript scraping module based on puppeteer for many different search ... for many different search engines... https://scrapeulous.com/.',
|
|
||||||
visible_link: 'https://github.com/NikolaiT/se-scraper',
|
|
||||||
date: '24.12.2018 - ',
|
|
||||||
rank: 4 },
|
|
||||||
{ link:
|
|
||||||
'https://github.com/NikolaiT/GoogleScraper/blob/master/README.md',
|
|
||||||
title:
|
|
||||||
'GoogleScraper/README.md at master · NikolaiT/GoogleScraper ...https://github.com/NikolaiT/GoogleScraper/blob/.../README.mdIm CacheÄhnliche SeitenDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'GoogleScraper - Scraping search engines professionally. Scrapeulous.com - Scraping Service. GoogleScraper is a open source tool and will remain a open ...',
|
|
||||||
visible_link:
|
|
||||||
'https://github.com/NikolaiT/GoogleScraper/blob/.../README.md',
|
|
||||||
date: '',
|
|
||||||
rank: 5 },
|
|
||||||
{ link: 'https://googlescraper.readthedocs.io/',
|
|
||||||
title:
|
|
||||||
'Welcome to GoogleScraper\'s documentation! — GoogleScraper ...https://googlescraper.readthedocs.io/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Welcome to GoogleScraper\'s documentation!¶. Contents: GoogleScraper - Scraping search engines professionally · Scrapeulous.com - Scraping Service ...',
|
|
||||||
visible_link: 'https://googlescraper.readthedocs.io/',
|
|
||||||
date: '',
|
|
||||||
rank: 6 },
|
|
||||||
{ link: 'https://incolumitas.com/pages/scrapeulous/',
|
|
||||||
title:
|
|
||||||
'Coding, Learning and Business Ideas – Scrapeulous.com - Incolumitashttps://incolumitas.com/pages/scrapeulous/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'A scraping service for scientists, marketing professionals, analysts or SEO folk. In autumn 2018, I created a scraping service called scrapeulous.com. There you ...',
|
|
||||||
visible_link: 'https://incolumitas.com/pages/scrapeulous/',
|
|
||||||
date: '',
|
|
||||||
rank: 7 },
|
|
||||||
{ link: 'https://incolumitas.com/',
|
|
||||||
title:
|
|
||||||
'Coding, Learning and Business Ideashttps://incolumitas.com/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Scraping Amazon Reviews using Headless Chrome Browser and Python3. Posted on Mi ... GoogleScraper Tutorial - How to scrape 1000 keywords with Google.',
|
|
||||||
visible_link: 'https://incolumitas.com/',
|
|
||||||
date: '',
|
|
||||||
rank: 8 },
|
|
||||||
{ link: 'https://en.wikipedia.org/wiki/Search_engine_scraping',
|
|
||||||
title:
|
|
||||||
'Search engine scraping - Wikipediahttps://en.wikipedia.org/wiki/Search_engine_scrapingIm CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Search engine scraping is the process of harvesting URLs, descriptions, or other information from search engines such as Google, Bing or Yahoo. This is a ...',
|
|
||||||
visible_link: 'https://en.wikipedia.org/wiki/Search_engine_scraping',
|
|
||||||
date: '',
|
|
||||||
rank: 9 },
|
|
||||||
{ link:
|
|
||||||
'https://readthedocs.org/projects/googlescraper/downloads/pdf/latest/',
|
|
||||||
title:
|
|
||||||
'GoogleScraper Documentation - Read the Docshttps://readthedocs.org/projects/googlescraper/downloads/.../latest...Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'23.12.2018 - Contents: 1 GoogleScraper - Scraping search engines professionally. 1. 1.1 ... For this reason, I created the web service scrapeulous.com.',
|
|
||||||
visible_link:
|
|
||||||
'https://readthedocs.org/projects/googlescraper/downloads/.../latest...',
|
|
||||||
date: '23.12.2018 - ',
|
|
||||||
rank: 10 } ] },
|
|
||||||
'2':
|
|
||||||
{ time: 'Tue, 29 Jan 2019 21:39:24 GMT',
|
|
||||||
num_results: 'Seite 2 von ungefähr 145 Ergebnissen (0,20 Sekunden) ',
|
|
||||||
no_results: false,
|
|
||||||
effective_query: '',
|
|
||||||
results:
|
|
||||||
[ { link: 'https://pypi.org/project/CountryGoogleScraper/',
|
|
||||||
title:
|
|
||||||
'CountryGoogleScraper · PyPIhttps://pypi.org/project/CountryGoogleScraper/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'A module to scrape and extract links, titles and descriptions from various search ... Look [here to get an idea how to use asynchronous mode](http://scrapeulous.',
|
|
||||||
visible_link: 'https://pypi.org/project/CountryGoogleScraper/',
|
|
||||||
date: '',
|
|
||||||
rank: 1 },
|
|
||||||
{ link: 'https://www.youtube.com/watch?v=a6xn6rc9GbI',
|
|
||||||
title:
|
|
||||||
'scrapeulous intro - YouTubehttps://www.youtube.com/watch?v=a6xn6rc9GbIDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'scrapeulous intro. Scrapeulous Scrapeulous. Loading... Unsubscribe from ... on Dec 16, 2018. Introduction ...',
|
|
||||||
visible_link: 'https://www.youtube.com/watch?v=a6xn6rc9GbI',
|
|
||||||
date: '',
|
|
||||||
rank: 3 },
|
|
||||||
{ link:
|
|
||||||
'https://www.reddit.com/r/Python/comments/2tii3r/scraping_260_search_queries_in_bing_in_a_matter/',
|
|
||||||
title:
|
|
||||||
'Scraping 260 search queries in Bing in a matter of seconds using ...https://www.reddit.com/.../scraping_260_search_queries_in_bing...Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'24.01.2015 - Scraping 260 search queries in Bing in a matter of seconds using asyncio and aiohttp. (scrapeulous.com). submitted 3 years ago by ...',
|
|
||||||
visible_link:
|
|
||||||
'https://www.reddit.com/.../scraping_260_search_queries_in_bing...',
|
|
||||||
date: '24.01.2015 - ',
|
|
||||||
rank: 4 },
|
|
||||||
{ link: 'https://twitter.com/incolumitas_?lang=de',
|
|
||||||
title:
|
|
||||||
'Nikolai Tschacher (@incolumitas_) | Twitterhttps://twitter.com/incolumitas_?lang=deIm CacheÄhnliche SeitenDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Learn how to scrape millions of url from yandex and google or bing with: http://scrapeulous.com/googlescraper-market-analysis.html … 0 replies 0 retweets 0 ...',
|
|
||||||
visible_link: 'https://twitter.com/incolumitas_?lang=de',
|
|
||||||
date: '',
|
|
||||||
rank: 5 },
|
|
||||||
{ link:
|
|
||||||
'http://blog.shodan.io/hostility-in-the-python-package-index/',
|
|
||||||
title:
|
|
||||||
'Hostility in the Cheese Shop - Shodan Blogblog.shodan.io/hostility-in-the-python-package-index/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'22.02.2015 - https://zzz.scrapeulous.com/r? According to the author of the website, these hostile packages are used as honeypots. Honeypots are usually ...',
|
|
||||||
visible_link: 'blog.shodan.io/hostility-in-the-python-package-index/',
|
|
||||||
date: '22.02.2015 - ',
|
|
||||||
rank: 6 },
|
|
||||||
{ link: 'https://libraries.io/github/NikolaiT/GoogleScraper',
|
|
||||||
title:
|
|
||||||
'NikolaiT/GoogleScraper - Libraries.iohttps://libraries.io/github/NikolaiT/GoogleScraperIm CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'A Python module to scrape several search engines (like Google, Yandex, Bing, ... https://scrapeulous.com/ ... You can install GoogleScraper comfortably with pip:',
|
|
||||||
visible_link: 'https://libraries.io/github/NikolaiT/GoogleScraper',
|
|
||||||
date: '',
|
|
||||||
rank: 7 },
|
|
||||||
{ link: 'https://pydigger.com/pypi/CountryGoogleScraper',
|
|
||||||
title:
|
|
||||||
'CountryGoogleScraper - PyDiggerhttps://pydigger.com/pypi/CountryGoogleScraperDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'19.10.2016 - Look [here to get an idea how to use asynchronous mode](http://scrapeulous.com/googlescraper-260-keywords-in-a-second.html). ### Table ...',
|
|
||||||
visible_link: 'https://pydigger.com/pypi/CountryGoogleScraper',
|
|
||||||
date: '19.10.2016 - ',
|
|
||||||
rank: 8 },
|
|
||||||
{ link: 'https://hub.docker.com/r/cimenx/data-mining-penandtest/',
|
|
||||||
title:
|
|
||||||
'cimenx/data-mining-penandtest - Docker Hubhttps://hub.docker.com/r/cimenx/data-mining-penandtest/Im CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Container. OverviewTagsDockerfileBuilds · http://scrapeulous.com/googlescraper-260-keywords-in-a-second.html. Docker Pull Command. Owner. profile ...',
|
|
||||||
visible_link: 'https://hub.docker.com/r/cimenx/data-mining-penandtest/',
|
|
||||||
date: '',
|
|
||||||
rank: 9 },
|
|
||||||
{ link: 'https://www.revolvy.com/page/Search-engine-scraping',
|
|
||||||
title:
|
|
||||||
'Search engine scraping | Revolvyhttps://www.revolvy.com/page/Search-engine-scrapingIm CacheDiese Seite übersetzen',
|
|
||||||
snippet:
|
|
||||||
'Search engine scraping is the process of harvesting URLs, descriptions, or other information from search engines such as Google, Bing or Yahoo. This is a ...',
|
|
||||||
visible_link: 'https://www.revolvy.com/page/Search-engine-scraping',
|
|
||||||
date: '',
|
|
||||||
rank: 10 } ] } } }
|
|
@ -1,454 +0,0 @@
|
|||||||
{
|
|
||||||
"news": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:35 GMT",
|
|
||||||
"num_results": "Ungefähr 25.270.000.000 Ergebnisse (0,35 Sekunden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://news.google.de/",
|
|
||||||
"title": "Google Newshttps://news.google.de/Ähnliche Seiten",
|
|
||||||
"snippet": "Ausführliche und aktuelle Beiträge - von Google News aus verschiedenen Nachrichtenquellen aus aller Welt zusammengetragen.",
|
|
||||||
"visible_link": "https://news.google.de/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bild.de/news/startseite/news/news-16804530.bild.html",
|
|
||||||
"title": "News aktuell: Nachrichten aus Deutschland und der Welt - Bild.dehttps://www.bild.de/news/startseite/news/news-16804530.bild.html",
|
|
||||||
"snippet": "Aktuelle News aus Deutschland, Europa und der Welt. Alle Informationen, Bilder und Videos zu Skandalen, Krisen und Sensationen bei BILD.de.",
|
|
||||||
"visible_link": "https://www.bild.de/news/startseite/news/news-16804530.bild.html",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRFZxYUdjU0FtUmxHZ0pFUlNnQVAB?hl=de&gl=DE&ceid=DE%3Ade",
|
|
||||||
"title": "Schlagzeilen - Neueste - Google Newshttps://news.google.com/.../CAAqJggKIiBDQkFTRWdvSUwyMHZNRFZxYUdjU0FtUm...",
|
|
||||||
"snippet": "Mit Google News kannst du zum Thema Schlagzeilen vollständige Artikel lesen, Videos ansehen und in Tausenden von Titeln stöbern.",
|
|
||||||
"visible_link": "https://news.google.com/.../CAAqJggKIiBDQkFTRWdvSUwyMHZNRFZxYUdjU0FtUm...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.zeit.de/news/index",
|
|
||||||
"title": "Schlagzeilen, News und Newsticker | ZEIT ONLINE - Die Zeithttps://www.zeit.de/news/index",
|
|
||||||
"snippet": "Aktuelle News und Schlagzeilen im Newsticker von ZEIT ONLINE. Lesen Sie hier die neuesten Nachrichten.",
|
|
||||||
"visible_link": "https://www.zeit.de/news/index",
|
|
||||||
"date": "",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.rtl.de/cms/news.html",
|
|
||||||
"title": "News: Aktuelle Nachrichten, Schlagzeilen und Videos | RTL.dehttps://www.rtl.de/cms/news.html",
|
|
||||||
"snippet": "Aktuelle Nachrichten aus Deutschland und der Welt auf einen Blick: Bei RTL.de finden Sie die News von heute, spannende Hintergründe und Videos.",
|
|
||||||
"visible_link": "https://www.rtl.de/cms/news.html",
|
|
||||||
"date": "",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://www.news.de/",
|
|
||||||
"title": "news.de - mehr als Nachrichten und News, die Sie bewegenwww.news.de/Ähnliche Seiten",
|
|
||||||
"snippet": "Promi News und Aktuelles aus Sport, TV & Web. Jetzt Sportnachrichten von Fußball bis Boxen und das Neueste aus Klatsch und Tratsch per Newsticker, Fotos ...",
|
|
||||||
"visible_link": "www.news.de/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.t-online.de/nachrichten/",
|
|
||||||
"title": "Politik aktuell: Nachrichten aus Deutschland, Europa und der Welthttps://www.t-online.de/nachrichten/",
|
|
||||||
"snippet": "Frauen-WM 2019: Ticker, Ergebnisse und News zum Fußball-Event · Let's Dance 2019: Promis, Profis und die ... E-Mails und News unterwegs immer dabei.",
|
|
||||||
"visible_link": "https://www.t-online.de/nachrichten/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.mopo.de/news",
|
|
||||||
"title": "News - Aktuelle Nachrichten aus Deutschland und der Welt. | MOPO.dehttps://www.mopo.de/news",
|
|
||||||
"snippet": "News - Aktuelle Nachrichten aus Hamburg, der Welt, zum HSV und der Welt der Promis.",
|
|
||||||
"visible_link": "https://www.mopo.de/news",
|
|
||||||
"date": "",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.stern.de/news/",
|
|
||||||
"title": "News - Sternhttps://www.stern.de/news/Im Cache",
|
|
||||||
"snippet": "News und aktuelle Schlagzeilen im Nachrichten-Ticker von STERN.de. Alle Informationen, Reportagen und Hintergründe im Überblick.",
|
|
||||||
"visible_link": "https://www.stern.de/news/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 9
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"incolumitas.com": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:36 GMT",
|
|
||||||
"num_results": "Ungefähr 3.260.000 Ergebnisse (0,52 Sekunden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://incolumitas.com/",
|
|
||||||
"title": "Coding, Learning and Business Ideashttps://incolumitas.com/Im CacheDiese Seite übersetzenContactScrapeulous.comAboutGoogleScraperArchivesBigDataProjectsSite NoticeCategoriesIntroduction",
|
|
||||||
"snippet": "Tutorial that teaches how scrape amazon reviews. Continue reading · Older Posts. © Nikolai Tschacher - incolumitas.com 2018. Powered by Pelican - Flex ...",
|
|
||||||
"visible_link": "https://incolumitas.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.pons.com/%C3%BCbersetzung/latein-deutsch/incolumitas",
|
|
||||||
"title": "incolumitas : Deutsch » Latein | PONShttps://de.pons.com/übersetzung/latein-deutsch/incolumitasIm Cache",
|
|
||||||
"snippet": "Übersetzungen für incolumitas im Latein » Deutsch-Wörterbuch von PONS Online:incolumitas, gaudere patriae incolumitate.",
|
|
||||||
"visible_link": "https://de.pons.com/übersetzung/latein-deutsch/incolumitas",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.frag-caesar.de/lateinwoerterbuch/incolumitas-uebersetzung.html",
|
|
||||||
"title": "incolumitas-Übersetzung im Latein Wörterbuch - Frag Caesarhttps://www.frag-caesar.de/lateinwoerterbuch/incolumitas-uebersetzung.htmlIm Cache",
|
|
||||||
"snippet": "Übersetzung und Formen zu incolumitas im Latein Wörterbuch.",
|
|
||||||
"visible_link": "https://www.frag-caesar.de/lateinwoerterbuch/incolumitas-uebersetzung.html",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://de.langenscheidt.com/latein-deutsch/incolumitas",
|
|
||||||
"title": "Latein-Deutsch Übersetzung für \"incolumitas\" - Langenscheidthttps://de.langenscheidt.com/latein-deutsch/incolumitasIm Cache",
|
|
||||||
"snippet": "Übersetzung für 'incolumitas' im kostenlosen Latein-Deutsch Wörterbuch von LANGENSCHEIDT – mit Beispielen, Synonymen und Aussprache.",
|
|
||||||
"visible_link": "https://de.langenscheidt.com/latein-deutsch/incolumitas",
|
|
||||||
"date": "",
|
|
||||||
"rank": 4
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"what to do?": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:38 GMT",
|
|
||||||
"num_results": "Ungefähr 14.320.000.000 Ergebnisse (0,50 Sekunden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.thecrazytourist.com/25-best-things-frankfurt-germany/",
|
|
||||||
"title": "25 Best Things to Do in Frankfurt (Germany) - The Crazy Touristhttps://www.thecrazytourist.com › Travel Guides › GermanyIm CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "Germany's big financial centre is a city of many sides. The central business district, Bankenviertel, captures your attention right away and has all ten of the tallest ...",
|
|
||||||
"visible_link": "https://www.thecrazytourist.com › Travel Guides › Germany",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.tripadvisor.com/Attractions-g187337-Activities-Frankfurt_Hesse.html",
|
|
||||||
"title": "THE 15 BEST Things to Do in Frankfurt - 2019 (with Photos ...https://www.tripadvisor.com/Attractions-g187337-Activities-Frankfurt_Hesse.htmlÄhnliche Seiten",
|
|
||||||
"snippet": "Book your tickets online for the top things to do in Frankfurt, Germany on TripAdvisor: See 50566 traveler reviews and photos of Frankfurt tourist attractions.",
|
|
||||||
"visible_link": "https://www.tripadvisor.com/Attractions-g187337-Activities-Frankfurt_Hesse.html",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.likealocalguide.com/frankfurt/things-to-do",
|
|
||||||
"title": "Top 29 Things To Do in Frankfurt 2019 - Best Activities in Frankfurthttps://www.likealocalguide.com/frankfurt/things-to-doIm CacheÄhnliche SeitenDiese Seite übersetzen",
|
|
||||||
"snippet": "Frankfurt city guide featuring 29 best local sights, things to do & tours recommended by Frankfurt locals. Skip the tourist traps & explore Frankfurt like a local.",
|
|
||||||
"visible_link": "https://www.likealocalguide.com/frankfurt/things-to-do",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.mydomaine.com/things-to-do-when-bored",
|
|
||||||
"title": "96 Things to Do When You're Bored - MyDomainehttps://www.mydomaine.com › Wellness › Self-CareIm CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "16.03.2016 - This book changed my life in many ways, but one of my key takeaways has to do with boredom. I am never bored. In fact, the word bored ...",
|
|
||||||
"visible_link": "https://www.mydomaine.com › Wellness › Self-Care",
|
|
||||||
"date": "16.03.2016 - ",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.lonelyplanet.com/germany/frankfurt-am-main/top-things-to-do/a/poi/1003203",
|
|
||||||
"title": "Top things to do in Frankfurt am Main, Germany - Lonely Planethttps://www.lonelyplanet.com/germany/...things-to-do/.../100320...Im CacheÄhnliche SeitenDiese Seite übersetzen",
|
|
||||||
"snippet": "Discover the best top things to do in Frankfurt am Main including Städel Museum, Kaiserdom, Senckenberg Museum.",
|
|
||||||
"visible_link": "https://www.lonelyplanet.com/germany/...things-to-do/.../100320...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.timeout.com/frankfurt/things-to-do/best-things-to-do-in-frankfurt",
|
|
||||||
"title": "10 Best Things to do in Frankfurt for Locals and Tourists - Time Outhttps://www.timeout.com/.../things-to-do/best-things-to-do-in-fra...Im CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "09.07.2018 - Looking for the best things to do in Frankfurt? Check out our guide to local-approved restaurants, tours and more can't-miss activities in the ...",
|
|
||||||
"visible_link": "https://www.timeout.com/.../things-to-do/best-things-to-do-in-fra...",
|
|
||||||
"date": "09.07.2018 - ",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.atlasobscura.com/things-to-do/frankfurt-germany",
|
|
||||||
"title": "9 Cool and Unusual Things to Do in Frankfurt - Atlas Obscurahttps://www.atlasobscura.com/things-to-do/frankfurt-germanyIm CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "Discover 9 hidden attractions, cool sights, and unusual things to do in Frankfurt, Germany from Pinkelbaum (Peeing Tree) to Henninger Turm.",
|
|
||||||
"visible_link": "https://www.atlasobscura.com/things-to-do/frankfurt-germany",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://theculturetrip.com/europe/germany/articles/7-cool-and-unusual-things-to-do-in-frankfurt/",
|
|
||||||
"title": "7 Cool and Unusual Things to Do in Frankfurt - Culture Triphttps://theculturetrip.com › Germany › See & DoIm CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "27.06.2018 - Frankfurt is the busiest airport in Germany, though unfortunately, not everyone realises it's worth stopping to spend time in the city. They don't ...",
|
|
||||||
"visible_link": "https://theculturetrip.com › Germany › See & Do",
|
|
||||||
"date": "27.06.2018 - ",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://lifehacks.io/what-to-do-when-your-bored/",
|
|
||||||
"title": "23 [REALLY] Fun Things To Do When You Are Bored - Life Hackshttps://lifehacks.io/what-to-do-when-your-bored/Im CacheDiese Seite übersetzen",
|
|
||||||
"snippet": "What to Do When Bored? ― These twenty-three things are sure to pass your time, as well as make you happy at the end of the day.",
|
|
||||||
"visible_link": "https://lifehacks.io/what-to-do-when-your-bored/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 9
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"scrapeulous.com": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:35 GMT",
|
|
||||||
"num_results": "Ongeveer 217 resultaten (0,22 seconden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://scrapeulous.com/",
|
|
||||||
"title": "Scrapeuloushttps://scrapeulous.com/In cacheVertaal deze paginaContactNews Api for the MSCI World ...AboutAdvanced Scraping Services",
|
|
||||||
"snippet": "Scraping search engines like Google, Bing and Duckduckgo in large quantities from many geographical regions with real browsers.",
|
|
||||||
"visible_link": "https://scrapeulous.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.crunchbase.com/organization/scrapeulous",
|
|
||||||
"title": "Scrapeulous | Crunchbasehttps://www.crunchbase.com/organization/scrapeulousIn cacheVertaal deze pagina",
|
|
||||||
"snippet": "Scrapeulous.com allows you to scrape various search engines automatically and in large quantities. Whether you need to analyze your competitors' market ...",
|
|
||||||
"visible_link": "https://www.crunchbase.com/organization/scrapeulous",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://twitter.com/scrapeulous",
|
|
||||||
"title": "Scrapeulous.com (@scrapeulous) | Twitterhttps://twitter.com/scrapeulousVertaal deze pagina",
|
|
||||||
"snippet": "The latest Tweets from Scrapeulous.com (@scrapeulous): \"Creating software to realize the best scraping service at https://t.co/R5NUqSSrB5\"",
|
|
||||||
"visible_link": "https://twitter.com/scrapeulous",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://incolumitas.com/",
|
|
||||||
"title": "Coding, Learning and Business Ideashttps://incolumitas.com/In cacheVertaal deze pagina",
|
|
||||||
"snippet": "About · Contact · GoogleScraper · Lichess Autoplay-Bot · Projects · Scrapeulous.com · Site Notice · SVGCaptcha · Home Archives Categories Tags Atom ...",
|
|
||||||
"visible_link": "https://incolumitas.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://incolumitas.com/pages/scrapeulous/",
|
|
||||||
"title": "Scrapeulous.com - Coding, Learning and Business Ideashttps://incolumitas.com/pages/scrapeulous/In cacheVertaal deze pagina",
|
|
||||||
"snippet": "In autumn 2018, I created a scraping service called scrapeulous.com. There you can purchase scrape jobs that allow you to upload a keyword file which in turn ...",
|
|
||||||
"visible_link": "https://incolumitas.com/pages/scrapeulous/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://github.com/NikolaiT/se-scraper",
|
|
||||||
"title": "NikolaiT/se-scraper: Javascript scraping module based on ... - GitHubhttps://github.com/NikolaiT/se-scraperIn cacheVertaal deze pagina",
|
|
||||||
"snippet": "const se_scraper = require('se-scraper'); let config = { search_engine: 'google', debug: false, verbose: false, keywords: ['news', 'scraping scrapeulous.com'], ...",
|
|
||||||
"visible_link": "https://github.com/NikolaiT/se-scraper",
|
|
||||||
"date": "",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.youtube.com/watch?v=uyV0eChCe1c",
|
|
||||||
"title": "Scrapeulous.com Howto - YouTubehttps://www.youtube.com/watch?v=uyV0eChCe1cVertaal deze pagina",
|
|
||||||
"snippet": "You can inspect the Scrape Job i am talking about in the video here: https://scrapeulous.com/status ...",
|
|
||||||
"visible_link": "https://www.youtube.com/watch?v=uyV0eChCe1c",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.reddit.com/domain/scrapeulous.com/",
|
|
||||||
"title": "scrapeulous.com on reddit.comhttps://www.reddit.com/domain/scrapeulous.com/In cacheVertaal deze pagina",
|
|
||||||
"snippet": "0. 0. Scraping 260 search queries in Bing in a matter of seconds using asyncio and aiohttp. (scrapeulous.com). submitted 4 years ago by incolumitas to r/Python.",
|
|
||||||
"visible_link": "https://www.reddit.com/domain/scrapeulous.com/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 8
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"i work too much": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:36 GMT",
|
|
||||||
"num_results": "Ongeveer 4.800.000.000 resultaten (0,29 seconden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.themuse.com/advice/3-reasons-you-work-too-muchand-how-to-overcome-each-one",
|
|
||||||
"title": "3 Reasons You Work Too Much and How to Stop- The Musehttps://www.themuse.com/.../3-reasons-you-work-too-muchand-h...In cacheVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "There are three main reasons people work too much. Here's how to fight back against each one and attain better work-life balance.",
|
|
||||||
"visible_link": "https://www.themuse.com/.../3-reasons-you-work-too-muchand-h...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.themuse.com/advice/6-signs-youre-giving-way-too-much-of-yourself-to-your-job",
|
|
||||||
"title": "Work-Life Balance 6 Signs You're Giving Way Too Much of ... - The Musehttps://www.themuse.com/.../6-signs-youre-giving-way-too-much-...In cacheVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "Here are six symptoms that your job is consuming your entire life and it's probably good for you to take a step back, relax, and reevaluate.",
|
|
||||||
"visible_link": "https://www.themuse.com/.../6-signs-youre-giving-way-too-much-...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.lifehack.org/articles/lifestyle/ask-the-entrepreneurs-15-signs-youre-working-too-much-and-burning-out.html",
|
|
||||||
"title": "15 Signs You're Working Too Much and Burning Out - Lifehackhttps://www.lifehack.org/.../ask-the-entrepreneurs-15-signs-youre-...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "If you're not able to deliver what your client expects, you're probably taking on too much. Focus on what you can and should be doing, and find a way to cut out ...",
|
|
||||||
"visible_link": "https://www.lifehack.org/.../ask-the-entrepreneurs-15-signs-youre-...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.bustle.com/p/am-i-working-too-much-7-signs-its-time-to-slow-down-76583",
|
|
||||||
"title": "Am I Working Too Much? 7 Signs It's Time To Slow Down - Bustlehttps://www.bustle.com/.../am-i-working-too-much-7-signs-its-tim...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "28 aug. 2017 - Our society prides hard work so much, it can seem like there's no such thing as working too much. But there absolutely is. An overly demanding ...",
|
|
||||||
"visible_link": "https://www.bustle.com/.../am-i-working-too-much-7-signs-its-tim...",
|
|
||||||
"date": "28 aug. 2017 - ",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.healthline.com/health/working-too-much-health-effects",
|
|
||||||
"title": "7 Health Effects of Working Too Much - Healthlinehttps://www.healthline.com/health/working-too-much-health-effectsIn cacheVertaal deze pagina",
|
|
||||||
"snippet": "3 mei 2017 - From increased risk of heart disease to poor sleep, working too much can take a toll on your health. Here are some of the side effects, along ...",
|
|
||||||
"visible_link": "https://www.healthline.com/health/working-too-much-health-effects",
|
|
||||||
"date": "3 mei 2017 - ",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.rd.com/advice/work-career/workaholic-signs/",
|
|
||||||
"title": "Workaholic Signs: Are You Working Too Much? | Reader's Digesthttps://www.rd.com/advice/work-career/workaholic-signs/In cacheVertaal deze pagina",
|
|
||||||
"snippet": "Enjoying your job is one thing, but here are some undeniable warning signs of workaholism that you may be taking your work a little too far.",
|
|
||||||
"visible_link": "https://www.rd.com/advice/work-career/workaholic-signs/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.thealternativedaily.com/how-too-much-work-ruins-health/",
|
|
||||||
"title": "How Much Work Is Too Much For Your Mental And Physical Health?https://www.thealternativedaily.com/how-too-much-work-ruins-he...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "Full time workers in the U.S. will typically clock up 47 hours per week of work — and that only includes paid work. Meanwhile, Aussies at the Australian National ...",
|
|
||||||
"visible_link": "https://www.thealternativedaily.com/how-too-much-work-ruins-he...",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.huffpost.com/entry/24-things-only-people-who-work-entirely-too-much-will-understand_b_5510723",
|
|
||||||
"title": "24 Things Only People Who Work Entirely Too Much Will Understand ...https://www.huffpost.com/.../24-things-only-people-who-work-ent...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "20 jun. 2014 - To all the people who are on a first-name basis with the office cleaning crew, are unfazed by empty parking lots on dark nights and can't go ...",
|
|
||||||
"visible_link": "https://www.huffpost.com/.../24-things-only-people-who-work-ent...",
|
|
||||||
"date": "20 jun. 2014 - ",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.theguardian.com/lifeandstyle/2018/jan/15/is-28-hours-ideal-working-week-for-healthy-life",
|
|
||||||
"title": "Do you work more than 39 hours a week? Your job could be killing ...https://www.theguardian.com/.../2018/.../is-28-hours-ideal-working-week-for-healthy-lif...",
|
|
||||||
"snippet": "15 jan. 2018 - Technology was supposed to liberate us from much of the daily slog, but ... about excessive work, too, especially its impact on relationships and ...",
|
|
||||||
"visible_link": "https://www.theguardian.com/.../2018/.../is-28-hours-ideal-working-week-for-healthy-lif...",
|
|
||||||
"date": "15 jan. 2018 - ",
|
|
||||||
"rank": 9
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"javascript is hard": {
|
|
||||||
"1": {
|
|
||||||
"time": "Wed, 12 Jun 2019 19:23:37 GMT",
|
|
||||||
"num_results": "Ongeveer 1.120.000.000 resultaten (0,33 seconden) ",
|
|
||||||
"no_results": false,
|
|
||||||
"effective_query": "",
|
|
||||||
"results": [
|
|
||||||
{
|
|
||||||
"link": "https://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"title": "How Hard Is JavaScript to Learn? HTML Comparison - ThoughtCohttps://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"snippet": "",
|
|
||||||
"visible_link": "https://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"date": "",
|
|
||||||
"rank": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"title": "How Hard Is JavaScript to Learn? HTML Comparison - ThoughtCohttps://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"snippet": "",
|
|
||||||
"visible_link": "https://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"date": "",
|
|
||||||
"rank": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://skillcrush.com/2018/06/27/how-hard-is-it-to-learn-javascript/",
|
|
||||||
"title": "How Hard Is it to Learn JavaScript? The Pros Weigh In - Skillcrushhttps://skillcrush.com/2018/06/.../how-hard-is-it-to-learn-javascript...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "27 jun. 2018 - Are you thinking about learning JavaScript but concerned about how hard of a task that might be? Allow these developers with JavaScript ...",
|
|
||||||
"visible_link": "https://skillcrush.com/2018/06/.../how-hard-is-it-to-learn-javascript...",
|
|
||||||
"date": "27 jun. 2018 - ",
|
|
||||||
"rank": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "http://blog.thefirehoseproject.com/posts/why-is-javascript-so-hard-to-learn/",
|
|
||||||
"title": "Why is JavaScript So Hard To Learn? - Firehose Projectblog.thefirehoseproject.com/.../why-is-javascript-so-hard-to-learn/In cacheVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "29 aug. 2016 - We'll get into the 7 reasons why JavaScript is so hard to learn and why it's a useful programming language for modern programmers.",
|
|
||||||
"visible_link": "blog.thefirehoseproject.com/.../why-is-javascript-so-hard-to-learn/",
|
|
||||||
"date": "29 aug. 2016 - ",
|
|
||||||
"rank": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.thoughtco.com/how-hard-is-javascript-to-learn-2037676",
|
|
||||||
"title": "How Hard Is JavaScript to Learn? HTML Comparison - ThoughtCohttps://www.thoughtco.com › ... › Javascript ProgrammingIn cacheVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "28 jan. 2019 - Comparing JavaScript to HTML. HTML is a markup language, meaning that it annotates text for a particular purpose and it's human-readable. ... JavaScript, however, is not a markup language; rather, it is a programming language. That by itself is enough to make learning JavaScript a lot more difficult than HTML.",
|
|
||||||
"visible_link": "https://www.thoughtco.com › ... › Javascript Programming",
|
|
||||||
"date": "28 jan. 2019 - ",
|
|
||||||
"rank": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.quora.com/Why-is-learning-JavaScript-so-hard",
|
|
||||||
"title": "Why is learning JavaScript so hard? - Quorahttps://www.quora.com/Why-is-learning-JavaScript-so-hardVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "12 sep. 2017 - Yes, JavaScript is very hard to learn, But then how we have so many JS developers around who plays with web? Well, the answer is, they don't ...",
|
|
||||||
"visible_link": "https://www.quora.com/Why-is-learning-JavaScript-so-hard",
|
|
||||||
"date": "12 sep. 2017 - ",
|
|
||||||
"rank": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.reddit.com/r/webdev/comments/80zcx1/javascript_is_hard/",
|
|
||||||
"title": "Javascript IS hard. : webdev - Reddithttps://www.reddit.com/r/webdev/comments/.../javascript_is_hard/In cacheVertaal deze pagina",
|
|
||||||
"snippet": "I'm sure some of you may have seen the disaster of the thread stating that Javascript isn't hard. I'm here to tell you the opposite. Javascript is...",
|
|
||||||
"visible_link": "https://www.reddit.com/r/webdev/comments/.../javascript_is_hard/",
|
|
||||||
"date": "",
|
|
||||||
"rank": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://develoger.com/why-is-javascript-so-hard-bd3648db51a5",
|
|
||||||
"title": "Why is JavaScript so hard? – Develogerhttps://develoger.com/why-is-javascript-so-hard-bd3648db51a5In cacheVergelijkbaarVertaal deze pagina",
|
|
||||||
"snippet": "3 okt. 2016 - If you feel comfortable working with html but find it hard to experience the same with JS, ... JavaScript is a toolset, programming is the mindset.",
|
|
||||||
"visible_link": "https://develoger.com/why-is-javascript-so-hard-bd3648db51a5",
|
|
||||||
"date": "3 okt. 2016 - ",
|
|
||||||
"rank": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://teamtreehouse.com/community/is-learning-javascript-supposed-to-be-this-difficult-or-am-i-not-cut-out-for-this",
|
|
||||||
"title": "Is learning JavaScript supposed to be this difficult or am I not cut out ...https://teamtreehouse.com/.../is-learning-javascript-supposed-to-be...In cacheVertaal deze pagina",
|
|
||||||
"snippet": "3 dec. 2015 - I haven't been able to complete any of Dave McFarland's \"programming challenges\" like building quizzes etc. I have to just watch his solution ...",
|
|
||||||
"visible_link": "https://teamtreehouse.com/.../is-learning-javascript-supposed-to-be...",
|
|
||||||
"date": "3 dec. 2015 - ",
|
|
||||||
"rank": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"link": "https://www.freecodecamp.org/forum/t/basic-javascript-is-insanely-hard-but-we-can-survive/63716",
|
|
||||||
"title": "Basic JavaScript is insanely hard, but we can survive - The ...https://www.freecodecamp.org/forum/...javascript...hard.../63716In cacheVertaal deze pagina",
|
|
||||||
"snippet": "My point here is, JavaScript is hard and has a lot of details in it's semantics. But going out to the real world, how's that whole of functions and ...",
|
|
||||||
"visible_link": "https://www.freecodecamp.org/forum/...javascript...hard.../63716",
|
|
||||||
"date": "",
|
|
||||||
"rank": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
## Test with static HTML
|
|
||||||
|
|
||||||
Dynamic testing of se-scraper takes too much time.
|
|
||||||
|
|
||||||
Save some html and initialize se-scraper by loading the search from disk.
|
|
||||||
|
|
||||||
### Disadvantage
|
|
||||||
|
|
||||||
static html gets outdated after some time
|
|
||||||
|
|
||||||
### Advantages
|
|
||||||
|
|
||||||
1. Let's us test corner cases that are missed easily
|
|
||||||
2. Testing is not reliable, since search engines do not always return the same results for the same query
|
|
||||||
3. As said, much faster
|
|
@ -1,168 +0,0 @@
|
|||||||
const se_scraper = require('./../../index.js');
|
|
||||||
const chai = require('chai');
|
|
||||||
chai.use(require('chai-string'));
|
|
||||||
const assert = chai.assert;
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
async function bing_ads() {
|
|
||||||
let config = {
|
|
||||||
compress: false,
|
|
||||||
debug_level: 1,
|
|
||||||
headless: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
let scrape_config = {
|
|
||||||
search_engine: 'bing',
|
|
||||||
keywords: ['kaffeemaschine kaufen'],
|
|
||||||
num_pages: 1,
|
|
||||||
scrape_from_file: 'file://' + path.join(__dirname, './html/bing.html'),
|
|
||||||
};
|
|
||||||
|
|
||||||
var scraper = new se_scraper.ScrapeManager(config);
|
|
||||||
|
|
||||||
await scraper.start();
|
|
||||||
|
|
||||||
bing_search_with_ads( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.keywords = ['best cloud services'];
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/bing2.html');
|
|
||||||
|
|
||||||
bing_search_with_ads2( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.keywords = ['car tires cheap'];
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/bing3.html');
|
|
||||||
|
|
||||||
bing_search_with_ads3( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
await scraper.quit();
|
|
||||||
}
|
|
||||||
|
|
||||||
// we test with a callback function to our handler
|
|
||||||
function bing_search_with_ads(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '1’100’000', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'ads'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 6, 'results must have at least 6 SERP objects');
|
|
||||||
assert.isAtLeast(obj.ads.length, 12, 'there are 12 ads');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function bing_search_with_ads2(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '44’300’000', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'ads'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 6, 'results must have at least 6 SERP objects');
|
|
||||||
assert.isAtLeast(obj.ads.length, 12, 'there are 12 ads');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function bing_search_with_ads3(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '65.500.000 results', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'ads'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 10, 'results must have at least 10 SERP objects');
|
|
||||||
assert.isAtLeast(obj.ads.length, 3, 'there are 3 ads');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function confirm_results_ok(obj) {
|
|
||||||
|
|
||||||
for (let res of obj.results) {
|
|
||||||
assert.containsAllKeys(res, ['link', 'title', 'rank', 'visible_link', 'snippet'], 'not all keys are in the SERP object');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'visible_link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'visible_link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'visible_link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 8, 'title must have at least 8 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isNumber(res.rank, 'rank must be integer');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.ads) {
|
|
||||||
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 8, 'title must have at least 8 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('Bing', function(){
|
|
||||||
this.timeout(10000);
|
|
||||||
it('static bing searches with ads', bing_ads);
|
|
||||||
});
|
|
@ -1,173 +0,0 @@
|
|||||||
const se_scraper = require('./../../index.js');
|
|
||||||
const chai = require('chai');
|
|
||||||
chai.use(require('chai-string'));
|
|
||||||
const assert = chai.assert;
|
|
||||||
const path = require('path');
|
|
||||||
const cheerio = require('cheerio');
|
|
||||||
|
|
||||||
|
|
||||||
async function test_html_output() {
|
|
||||||
let config = {
|
|
||||||
debug_level: 1,
|
|
||||||
headless: true,
|
|
||||||
html_output: true,
|
|
||||||
// whether to strip JS and CSS from the html_output
|
|
||||||
// has only an effect if `html_output` is true
|
|
||||||
clean_html_output: true,
|
|
||||||
// remove all data images from the html
|
|
||||||
clean_data_images: true,
|
|
||||||
// test compression
|
|
||||||
compress: false,
|
|
||||||
};
|
|
||||||
|
|
||||||
let scrape_config = {
|
|
||||||
search_engine: 'bing',
|
|
||||||
keywords: ['kaffeemaschine kaufen'],
|
|
||||||
num_pages: 1,
|
|
||||||
scrape_from_file: 'file://' + path.join(__dirname, './html/bing.html'),
|
|
||||||
};
|
|
||||||
|
|
||||||
var scraper = new se_scraper.ScrapeManager(config);
|
|
||||||
|
|
||||||
await scraper.start();
|
|
||||||
|
|
||||||
var response = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
scrape_config.clean_html_output = false;
|
|
||||||
scrape_config.clean_data_images = false;
|
|
||||||
|
|
||||||
var response_no_cleaned = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
test(response, response_no_cleaned, 'bing');
|
|
||||||
|
|
||||||
scrape_config.search_engine = 'google';
|
|
||||||
scrape_config.keywords = ['rückspiegel schwarz'];
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google.html');
|
|
||||||
scrape_config.clean_html_output = true;
|
|
||||||
scrape_config.clean_data_images = true;
|
|
||||||
|
|
||||||
var responseGoogle = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
scrape_config.clean_html_output = false;
|
|
||||||
scrape_config.clean_data_images = false;
|
|
||||||
|
|
||||||
var response_no_cleanedGoogle = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
test(responseGoogle, response_no_cleanedGoogle, 'google');
|
|
||||||
|
|
||||||
|
|
||||||
scrape_config.keywords = ['cloud services'];
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/googleLarge.html');
|
|
||||||
scrape_config.clean_html_output = true;
|
|
||||||
scrape_config.clean_data_images = true;
|
|
||||||
|
|
||||||
var responseGoogle = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
scrape_config.clean_html_output = false;
|
|
||||||
scrape_config.clean_data_images = false;
|
|
||||||
|
|
||||||
var response_no_cleanedGoogle = await scraper.scrape(scrape_config);
|
|
||||||
|
|
||||||
test(responseGoogle, response_no_cleanedGoogle, 'google');
|
|
||||||
|
|
||||||
await scraper.quit();
|
|
||||||
}
|
|
||||||
|
|
||||||
function test(response, response_no_cleaned, se='google') {
|
|
||||||
for (let query in response.results) {
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
let obj_no_cleaned = response_no_cleaned.results[query][page_number];
|
|
||||||
|
|
||||||
console.log('html length of no cleaned SERP: ' + obj_no_cleaned.html.length);
|
|
||||||
console.log('html length of cleaned SERP: ' + obj.html.length);
|
|
||||||
|
|
||||||
assert.isOk(obj.html, 'Html must be ok!');
|
|
||||||
assert.isAtLeast(obj.html.length, 100, 'html must be a length string');
|
|
||||||
|
|
||||||
assert.isOk(obj_no_cleaned.html, 'Html must be ok!');
|
|
||||||
assert.isAtLeast(obj_no_cleaned.html.length, 100, 'html must be a length string');
|
|
||||||
|
|
||||||
assert.isBelow(obj.html.length, obj_no_cleaned.html.length, 'cleaned html must be smaller');
|
|
||||||
|
|
||||||
// test that we can parse the html of both the cleaned and no cleaned versions
|
|
||||||
// with cheerio and that serp results are roughly the same
|
|
||||||
|
|
||||||
const cleaned$ = cheerio.load(obj.html);
|
|
||||||
const no_cleaned$ = cheerio.load(obj_no_cleaned.html);
|
|
||||||
|
|
||||||
var resCleaned = parseResults(cleaned$, se);
|
|
||||||
var resNoCleaned = parseResults(no_cleaned$, se);
|
|
||||||
|
|
||||||
assert.equal(resCleaned.length, resNoCleaned.length);
|
|
||||||
assert.equal(resCleaned.length, obj.results.length);
|
|
||||||
assert.equal(resNoCleaned.length, obj.results.length);
|
|
||||||
|
|
||||||
// unset the rank
|
|
||||||
resCleaned = resCleaned.map((el) => el.rank = undefined);
|
|
||||||
resNoCleaned = resNoCleaned.map((el) => el.rank = undefined);
|
|
||||||
obj.results = obj.results.map((el) => el.rank = undefined);
|
|
||||||
|
|
||||||
assert.deepEqual(resCleaned, resNoCleaned, 'parsed results should be equal, even if html is cleaned');
|
|
||||||
assert.deepEqual(resCleaned, obj.results, 'parsed results from cleaned html should be equal to se-scraper results');
|
|
||||||
assert.deepEqual(resNoCleaned, obj.results, 'parsed results from non-cleaned html should be equal to se-scraper results');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function parseResults(s$, se) {
|
|
||||||
|
|
||||||
var results = [];
|
|
||||||
|
|
||||||
if (se === 'google') {
|
|
||||||
s$('#center_col .g').each((i, link) => {
|
|
||||||
results.push({
|
|
||||||
link: s$(link).find('.r a').attr('href'),
|
|
||||||
title: s$(link).find('.r a').text(),
|
|
||||||
snippet: s$(link).find('span.st').text(),
|
|
||||||
visible_link: s$(link).find('.r cite').text(),
|
|
||||||
date: s$(link).find('span.f').text() || '',
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
} else if (se === 'bing') {
|
|
||||||
s$('#b_content #b_results .b_algo').each((i, link) => {
|
|
||||||
results.push({
|
|
||||||
link: s$(link).find('h2 a').attr('href'),
|
|
||||||
title: s$(link).find('h2').text(),
|
|
||||||
snippet: s$(link).find('.b_caption p').text(),
|
|
||||||
visible_link: s$(link).find('cite').text(),
|
|
||||||
})
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
throw "no such search engine";
|
|
||||||
}
|
|
||||||
|
|
||||||
results = clean_results(results, ['title', 'link', 'snippet']);
|
|
||||||
return results;
|
|
||||||
}
|
|
||||||
|
|
||||||
function clean_results(results, attributes) {
|
|
||||||
const cleaned = [];
|
|
||||||
var rank = 1;
|
|
||||||
for (var res of results) {
|
|
||||||
let goodboy = true;
|
|
||||||
for (var attr of attributes) {
|
|
||||||
if (!res[attr] || !res[attr].trim()) {
|
|
||||||
goodboy = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (goodboy) {
|
|
||||||
res.rank = rank++;
|
|
||||||
cleaned.push(res);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cleaned;
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('html output', function(){
|
|
||||||
this.timeout(15000);
|
|
||||||
it('static html output test', test_html_output);
|
|
||||||
});
|
|
@ -1,24 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
const zlib = require('zlib');
|
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
var files = ['google.html', 'google2.html', 'google3.html', 'bing.html', 'bing2.html'];
|
|
||||||
|
|
||||||
for (var file of files) {
|
|
||||||
var html = fs.readFileSync(path.resolve(__dirname, './html/' + file));
|
|
||||||
|
|
||||||
var compressed = zlib.gzipSync(html);
|
|
||||||
var deflated = zlib.deflateSync(html);
|
|
||||||
|
|
||||||
var compressed_encoded = compressed.toString('base64');
|
|
||||||
var deflated_encoded = deflated.toString('base64');
|
|
||||||
|
|
||||||
console.log(file)
|
|
||||||
console.log('Normal length: ' + html.length/1000);
|
|
||||||
console.log('GZIP Compressed length: ' + compressed.length/1000);
|
|
||||||
console.log('Deflate Compressed length: ' + deflated.length/1000);
|
|
||||||
console.log('Encoded GZIP Compressed length: ' + compressed_encoded.length/1000);
|
|
||||||
console.log('Encoded Deflate Compressed length: ' + deflated_encoded.length/1000);
|
|
||||||
console.log('------\n')
|
|
||||||
}
|
|
@ -1,99 +0,0 @@
|
|||||||
const se_scraper = require('./../../index.js');
|
|
||||||
const chai = require('chai');
|
|
||||||
chai.use(require('chai-string'));
|
|
||||||
const assert = chai.assert;
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
async function duckduckgo() {
|
|
||||||
let config = {
|
|
||||||
compress: false,
|
|
||||||
debug_level: 1,
|
|
||||||
headless: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
let scrape_config = {
|
|
||||||
search_engine: 'duckduckgo',
|
|
||||||
keywords: ['cloud service'],
|
|
||||||
num_pages: 1,
|
|
||||||
scrape_from_file: 'file://' + path.join(__dirname, './html/duckduckgo1.html'),
|
|
||||||
};
|
|
||||||
|
|
||||||
var scraper = new se_scraper.ScrapeManager(config);
|
|
||||||
|
|
||||||
await scraper.start();
|
|
||||||
|
|
||||||
duckduckgo_normal( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
await scraper.quit();
|
|
||||||
}
|
|
||||||
|
|
||||||
function duckduckgo_normal(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'ads',], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 10, 'results must have at least 10 SERP objects');
|
|
||||||
assert.isAtLeast(obj.ads.length, 2, 'ads must have at least 2 SERP objects');
|
|
||||||
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function confirm_results_ok(obj) {
|
|
||||||
|
|
||||||
for (let res of obj.results) {
|
|
||||||
assert.containsAllKeys(res, ['link', 'title', 'rank', 'visible_link', 'snippet'], 'not all keys are in the SERP object');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'visible_link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'visible_link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'visible_link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isNumber(res.rank, 'rank must be integer');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.ads) {
|
|
||||||
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('Duckduckgo', function(){
|
|
||||||
this.timeout(10000);
|
|
||||||
it('static duckduckgo sarch', duckduckgo);
|
|
||||||
});
|
|
@ -1,378 +0,0 @@
|
|||||||
const se_scraper = require('./../../index.js');
|
|
||||||
const chai = require('chai');
|
|
||||||
chai.use(require('chai-string'));
|
|
||||||
const assert = chai.assert;
|
|
||||||
const path = require('path');
|
|
||||||
|
|
||||||
async function normal_search_test() {
|
|
||||||
let config = {
|
|
||||||
compress: false,
|
|
||||||
debug_level: 1,
|
|
||||||
headless: true,
|
|
||||||
};
|
|
||||||
|
|
||||||
let scrape_config = {
|
|
||||||
search_engine: 'google',
|
|
||||||
keywords: ['rückspiegel schwarz'],
|
|
||||||
num_pages: 1,
|
|
||||||
scrape_from_file: 'file://' + path.join(__dirname, './html/google.html'),
|
|
||||||
};
|
|
||||||
|
|
||||||
var scraper = new se_scraper.ScrapeManager(config);
|
|
||||||
|
|
||||||
await scraper.start();
|
|
||||||
|
|
||||||
google_search_with_products( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google2.html');
|
|
||||||
scrape_config.keywords = ['autoreifen mercedes c-klasse'];
|
|
||||||
|
|
||||||
google_search_with_products2( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google3.html');
|
|
||||||
scrape_config.keywords = ['kaffeemaschine kaufen'];
|
|
||||||
|
|
||||||
google_places( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google4.html');
|
|
||||||
scrape_config.keywords = ['MODEL MARKET SW18 4ES'];
|
|
||||||
|
|
||||||
right_side_info_text( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google5.html');
|
|
||||||
scrape_config.keywords = ['BRANDON MOTORS HP13 6NR'];
|
|
||||||
|
|
||||||
right_side_info_text2( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
scrape_config.scrape_from_file = 'file://' + path.join(__dirname, './html/google6.html');
|
|
||||||
scrape_config.keywords = ['car tires for sale'];
|
|
||||||
|
|
||||||
google_places_and_ads( await scraper.scrape(scrape_config) );
|
|
||||||
|
|
||||||
await scraper.quit();
|
|
||||||
}
|
|
||||||
|
|
||||||
// we test with a callback function to our handler
|
|
||||||
function google_search_with_products(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '1’780’000', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'top_ads', 'bottom_ads', 'places'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 9, 'results must have at least 8 SERP objects');
|
|
||||||
assert.isAtLeast(obj.top_ads.length, 0, 'there are no top ads');
|
|
||||||
assert.isAtLeast(obj.bottom_ads.length, 3, 'there are 3 bottom ads');
|
|
||||||
assert.isAtLeast(obj.top_products.length, 15, 'there are 15 top products');
|
|
||||||
assert.equal(obj.right_products.length, 0, 'there are 0 right products');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function google_search_with_products2(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '437’000 Ergebnisse (0.41 Sekunden)', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'top_ads', 'bottom_ads', 'places'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 9, 'results must have at least 8 SERP objects');
|
|
||||||
assert.isAtLeast(obj.top_ads.length, 0, 'there are no top ads');
|
|
||||||
assert.isAtLeast(obj.bottom_ads.length, 1, 'there are 1 bottom ads');
|
|
||||||
assert.isAtLeast(obj.top_products.length, 0, 'there are 0 top products');
|
|
||||||
assert.equal(obj.right_products.length, 4, 'there are 4 right products');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function google_places(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '6’750’000 Ergebnisse (0.52 Sekunden)', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'top_ads', 'bottom_ads', 'places'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 10, 'results must have at least 9 SERP objects');
|
|
||||||
assert.equal(obj.top_ads.length, 0, 'there are no top ads');
|
|
||||||
assert.equal(obj.bottom_ads.length, 0, 'there are 0 bottom ads');
|
|
||||||
assert.equal(obj.top_products.length, 0, 'there are 0 top products');
|
|
||||||
assert.equal(obj.right_products.length, 0, 'there are 0 right products');
|
|
||||||
assert.equal(obj.places.length, 3, 'there are 3 places');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function right_side_info_text(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
for (let query in response.results) {
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '6 Ergebnisse', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results',
|
|
||||||
'effective_query', 'top_ads', 'bottom_ads', 'right_side_info_text'], 'not all keys are in the object');
|
|
||||||
|
|
||||||
assert.isAtLeast(obj.results.length, 7, 'results must have at least 7 SERP objects');
|
|
||||||
|
|
||||||
assert.isOk(obj.right_side_info_text.length, 'right_side_info_text should have some data');
|
|
||||||
assert.isAtLeast(obj.right_side_info_text.length, 50, 'right_side_info_text should have some data');
|
|
||||||
|
|
||||||
console.log(obj.right_side_info_text);
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function right_side_info_text2(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
for (let query in response.results) {
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '5 Ergebnisse', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results',
|
|
||||||
'effective_query', 'top_ads', 'bottom_ads', 'right_side_info_text'], 'not all keys are in the object');
|
|
||||||
|
|
||||||
assert.isAtLeast(obj.results.length, 5, 'results must have at least 5 SERP objects');
|
|
||||||
assert.isOk(obj.right_side_info_text.length, 'right_side_info_text should have some data');
|
|
||||||
assert.isAtLeast(obj.right_side_info_text.length, 50, 'right_side_info_text should have some data');
|
|
||||||
|
|
||||||
console.log(obj.right_side_info_text);
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function google_places_and_ads(response) {
|
|
||||||
assert.equal(response.metadata.num_requests, 1);
|
|
||||||
|
|
||||||
for (let query in response.results) {
|
|
||||||
|
|
||||||
for (let page_number in response.results[query]) {
|
|
||||||
|
|
||||||
assert.isNumber(parseInt(page_number), 'page_number must be numeric');
|
|
||||||
|
|
||||||
let obj = response.results[query][page_number];
|
|
||||||
|
|
||||||
assert.include(obj.num_results, '439.000.000 Ergebnisse (0,64 Sekunden)', 'num results not included');
|
|
||||||
assert.containsAllKeys(obj, ['results', 'time', 'no_results', 'num_results', 'effective_query', 'top_ads', 'bottom_ads', 'places'], 'not all keys are in the object');
|
|
||||||
assert.isAtLeast(obj.results.length, 10, 'results must have at least 10 SERP objects');
|
|
||||||
assert.equal(obj.top_ads.length, 0, 'there are no top ads');
|
|
||||||
assert.equal(obj.bottom_ads.length, 0, 'there are 0 bottom ads');
|
|
||||||
assert.isAtLeast(obj.top_products.length, 13, 'there are 13 top products');
|
|
||||||
assert.equal(obj.right_products.length, 0, 'there are 0 right products');
|
|
||||||
assert.equal(obj.places.length, 2, 'there are 2 places');
|
|
||||||
|
|
||||||
assert.equal(obj.no_results, false, 'no results should be false');
|
|
||||||
assert.typeOf(obj.num_results, 'string', 'num_results must be a string');
|
|
||||||
assert.isAtLeast(obj.num_results.length, 5, 'num_results should be a string of at least 5 chars');
|
|
||||||
assert.typeOf(Date.parse(obj.time), 'number', 'time should be a valid date');
|
|
||||||
|
|
||||||
confirm_results_ok(obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function confirm_results_ok(obj) {
|
|
||||||
|
|
||||||
for (let res of obj.results) {
|
|
||||||
assert.containsAllKeys(res, ['link', 'title', 'rank', 'visible_link', 'snippet'], 'not all keys are in the SERP object');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'visible_link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'visible_link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'visible_link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isNumber(res.rank, 'rank must be integer');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.top_ads) {
|
|
||||||
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'visible_link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'visible_link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'visible_link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.typeOf(res.links, 'array', 'links must be array');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.bottom_ads) {
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.visible_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.visible_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.visible_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'visible_link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'visible_link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'visible_link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.snippet, 'snippet must be ok');
|
|
||||||
assert.typeOf(res.snippet, 'string', 'snippet must be string');
|
|
||||||
assert.isAtLeast(res.snippet.length, 10, 'snippet must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.typeOf(res.links, 'array', 'links must be array');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.top_products) {
|
|
||||||
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.price, 'price must be ok');
|
|
||||||
assert.typeOf(res.price, 'string', 'price must be string');
|
|
||||||
assert.isAtLeast(res.price.length, 5, 'price must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.vendor_link, 'vendor_link must be ok');
|
|
||||||
assert.typeOf(res.vendor_link, 'string', 'vendor_link must be string');
|
|
||||||
assert.isAtLeast(res.vendor_link.length, 10, 'vendor_link must have at least 10 chars');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.right_products) {
|
|
||||||
assert.isOk(res.tracking_link, 'link must be ok');
|
|
||||||
assert.typeOf(res.tracking_link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.tracking_link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.link, 'link must be ok');
|
|
||||||
assert.typeOf(res.link, 'string', 'link must be string');
|
|
||||||
assert.isAtLeast(res.link.length, 5, 'link must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.price, 'price must be ok');
|
|
||||||
assert.typeOf(res.price, 'string', 'price must be string');
|
|
||||||
assert.isAtLeast(res.price.length, 5, 'price must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.title, 'title must be ok');
|
|
||||||
assert.typeOf(res.title, 'string', 'title must be string');
|
|
||||||
assert.isAtLeast(res.title.length, 10, 'title must have at least 10 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.vendor_link, 'vendor_link must be ok');
|
|
||||||
assert.typeOf(res.vendor_link, 'string', 'vendor_link must be string');
|
|
||||||
assert.isAtLeast(res.vendor_link.length, 10, 'vendor_link must have at least 10 chars');
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let res of obj.places) {
|
|
||||||
assert.isOk(res.heading, 'heading must be ok');
|
|
||||||
assert.typeOf(res.heading, 'string', 'heading must be string');
|
|
||||||
assert.isAtLeast(res.heading.length, 5, 'heading must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.rating, 'rating must be ok');
|
|
||||||
assert.typeOf(res.rating, 'string', 'rating must be string');
|
|
||||||
assert.isAtLeast(res.rating.length, 5, 'rating must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.isOk(res.contact, 'contact must be ok');
|
|
||||||
assert.typeOf(res.contact, 'string', 'contact must be string');
|
|
||||||
assert.isAtLeast(res.contact.length, 5, 'contact must have at least 5 chars');
|
|
||||||
|
|
||||||
assert.typeOf(res.hours, 'string', 'hours must be string');
|
|
||||||
if (res.hours) {
|
|
||||||
assert.isAtLeast(res.hours.length, 10, 'hours must have at least 10 chars');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('Google', function(){
|
|
||||||
this.timeout(20000);
|
|
||||||
it('static google searches with products,ads and places', normal_search_test);
|
|
||||||
});
|
|
@ -1 +0,0 @@
|
|||||||
function logMMRichHover(n,t,i){var f=null,e=null,r=t.firstChild,o=getAncestorElementByClassName("b_linkComponent",t),u,s,h,c,l;if(o&&o!==_d&&(r=o.firstChild),r&&r.tagName.toUpperCase()=="A"&&(u=r.getAttribute("onmousedown")||r.getAttribute("inst")||r.getAttribute("h"),u=String(u),u&&(s=u.match(/ID=[a-zA-Z0-9\.]+,[0-9]+\.[0-9]+/),s&&(h=s[0].substr(3).split(","),e=h[0],f=h[1]))),f&&e){i||(i="h");c=['{"T":"CI.Hover","AppNS":"',e,'","K":"',f,'","Name":"',n,'","HType":"',i,'","TS":',sb_gt(),"}"].join("");l=new Image;try{l.src=["/fd/ls/ls.gif?IG=",_G.IG,"&Type=Event.ClientInst&DATA=",c,"&log=UserEvent"].join("")}catch(a){}}}function getAncestorElementByClassName(n,t){while(t&&t.classList&&!t.classList.contains(n))t=t.parentNode;return t}
|
|
Before Width: | Height: | Size: 120 KiB |
@ -1 +0,0 @@
|
|||||||
var WRT=function(){function w(){var n=_ge("b_results");n&&_w.sa_CTBConfig&&(i[v]=g,i[y]=s,i[p]=s,sj_be(sj_b,"click",function(n){r(n)}),sj_evt.bind("onPopTR",function(n){r(n,!0)}),sj_be(sj_b,"mousedown",function(n){o(n)}),sj_be(sj_b,"mouseup",function(n){o(n)}),e(n.firstChild))}function e(n){n&&n.nodeType==1&&(b(n),e(n.nextSibling))}function b(n){var s,i,e;if(n){var r=tt(a,n,"span"),o=n.getElementsByTagName("cite"),f=c(n,"u");f&&t(f,"u")[0]==="e"&&(f=null);r&&o.length&&(s=o[0],n.tt=r,k(n,f)&&(i=sj_ce("a"),i.href="#",i.setAttribute("aria-label",sa_CTBConfig.TRGT),i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded","false"),i.setAttribute("role","button"),sj_be(i,"click",d),r.parentNode.replaceChild(i,r),i.appendChild(r),e=sj_ce("span",0,"c_tlbxTrgIcn "+u),n.ti=e,r.insertBefore(e,r.firstChild)))}}function k(n,r){var f=sj_ce("div",0,"c_tlbx"),e,h,o,s,u;for(h in n.tt.childNodes)o=n.tt.childNodes[h],s=t(o,"h"),s&&(u=sj_ce("div"),i[s](n,r,o,u),u.childNodes.length&&(e&&(e.className+=" c_tlbxIS"),f.appendChild(u),e=u));return f.childNodes.length?(n.toolbox=f,!0):!1}function d(t){var i=it(sj_et(t)),s,e,o;return i?(s=n,r(t),e=i.toolbox,e&&e!=s&&(i.ti.className=i.ti.className.replace(u,f),i.tt.className+=" sel",e.style.top=sj_go(i.ti,"Top")+9+"px",e.style.left=sj_go(i.ti,"Left")-3+"px",i.tt.parentNode.parentNode.appendChild(e),n=e,n.caption=i,ut(i)),o=t&&t.srcElement&&t.srcElement.parentNode,o&&o.setAttribute("aria-expanded","true"),nt(t)):!0}function r(t,i){var e,r,o;return n&&(e=sj_et(t),r=n.caption,(i||!sj_we(e,n,r))&&(r.ti.className=r.ti.className.replace(f,u),r.tt.className=r.tt.className.replace(/ sel/g,""),n.parentNode.removeChild(n),n=0),o=t&&t.srcElement&&t.srcElement.parentNode,o&&o.setAttribute("aria-expanded","false"),sj_we(e,r)&&sj_sp(t)),!0}function o(t){if(n){var i=sj_et(t),r=n.caption;i.tagName.toLowerCase()!="a"&&sj_we(i,r)&&sj_sp(t)}return!0}function g(n,i,r,u){var f;if(sa_CTBConfig.CU&&(f=t(i,"u"),f)){var o=sa_CTBConfig.NW=="1"?!0:undefined,e=f.split("|"),s=sa_CTBConfig.CU.replace("{0}",e[2]);u.appendChild(h(s.replace("{1}",e[3]),sa_CTBConfig.CT,t(r,"k"),o))}}function s(n,i,u,f){var a=t(u,"h"),s,c,e,o,l;a&&(a.indexOf("START")>0?(s=sa_CTBConfig.PDSU,c=sa_CTBConfig.PDS):(s=sa_CTBConfig.PDEU,c=sa_CTBConfig.PDE),e=n.getElementsByTagName("h3")[0].childNodes[0].href,o=e.indexOf("//"),o>0&&(e=e.substring(o+2)),o=e.indexOf("/"),o>0&&(e=e.substring(0,o)),s=s.replace("{0}",encodeURIComponent(e)),l=h("#",c,t(u,"k")),l.onclick=function(n){return(new Image).src=s.replace("{1}",sj_cook.get("MUID","MUID")),r(n,!0)},f.appendChild(l))}function nt(n){var n=sj_ev(n);return n&&(n.cancelBubble=!0),sj_pd(n),!1}function h(n,t,i,r){var u=sj_ce("a");return u.href=n,u.innerText=u.textContent=t,r&&(u.target="_blank"),i&&sj_be(u,"mousedown",function(){return si_T("&ID="+i)}),u}function tt(n,t,i){var r,o,u,f;if(typeof n=="string"){var t=t||_d,i=i||"*",e=t.getElementsByTagName(i);for(r=0,o=e.length;r<o;r++)if(u=e[r],f=u.className,f&&f.indexOf(n)!==-1)return u}}function it(n){while(n&&!rt(n,l))n=n.parentNode;return n}function rt(n,t){if(n&&n.className)for(var i=0;i<t.length;i++)if(n.className.indexOf(t[i])>=0)return!0;return!1}function c(n,i,r){var o=typeof r=="undefined",f;if(n)for(f=0;f<n.childNodes.length;f++){var u=n.childNodes[f],s=t(u,i),e=o&&s||!o&&s==r?u:0;if(!e&&u.childNodes&&u.childNodes.length&&(e=c(u,i,r)),e)return e}return 0}function t(n,t){return n&&n.getAttribute?n.getAttribute(t):null}function ut(n){var i,r,f,e,u;n&&!n.tlbxLog&&(r=n.getElementsByTagName("h3"),r.length&&r[0].childNodes.length&&(f=r[0].childNodes[0],i=t(f,"h"),i||(e=t(f,"onmousedown"),e&&(u=e.toString().match(/(ID=[^']+)/i),u&&u.length>1&&(i=u[1])))),i&&(i=i.substring(i.indexOf("=")+1),(new Image).src=_G.lsUrl+'&Type=Event.ClientInst&DATA=[{"T":"CI.Hover","Name":"ToolboxOpen","K":"'+i+'","HType":"h"}]'),n.tlbxLog=1)}var l=["b_algo","b_ans"],a="c_tlbxTrg",v="BASE:CACHEDPAGEDEFAULT",y="BASE:PREFERDOMAINSTART",p="BASE:PREFERDOMAINSTOP",u="sw_ddgn",f="sw_ddw",i={},n;return w(),{}}()
|
|
@ -1 +0,0 @@
|
|||||||
(function(){function i(){var f="data-load",u,i;if(n&&!n.hasAttribute(f))try{if(_d.body.appendChild(n),typeof sj_gx=="function"){if(u=r.replace("%IG%",_G.IG).replace("%IID%",n.getAttribute("data-iid")).replace("%PARTNER%",n.getAttribute("data-ptn")),n.setAttribute(f,"1"),i=sj_gx(),!i)return null;i.onreadystatechange=function(){typeof sj_appHTML=="function"&&4==i.readyState&&200==i.status&&sj_appHTML(n,i.responseText)};i.open("GET",t?SbiTst.at(u):u,!0);i.send(null)}}catch(e){}}function u(){if(n){var r=n.getAttribute("data-evt");r&&!t?sj_evt.bind(r,i,!0):i()}}var r="/images/sbi?mmasync=1&ig=%IG%&iid=%IID%&ptn=%PARTNER%",n=_ge("sbicom_loader"),t=typeof SbiTst!="undefined";u()})()
|
|
Before Width: | Height: | Size: 14 KiB |
@ -1 +0,0 @@
|
|||||||
var wln=wln||"",Identity;(function(n){function i(n){n.style.display="none";n.setAttribute("aria-hidden","true")}function r(n){n.style.display="inline-block";n.setAttribute("aria-hidden","false")}var u,t;n&&n.sglid&&sj_be&&sj_cook&&sj_evt&&_d&&typeof _d.querySelectorAll!="undefined"&&(u=function(n){var i=n.getAttribute("data-a"),t=n.getAttribute("data-p");i==="false"&&t!=null&&sj_be(n,"click",function(){sj_cook.set("SRCHUSR","POEX",t,!0,"/")})},sj_evt.bind("identityHeaderShown",function(){var n=!1;sj_be(_ge("id_l"),"click",function(){var i,t;if(!n){for(i=_d.querySelectorAll(".b_imi"),t=0;t<i.length;t++)u(i[t]);n=!0}})},!0));sj_evt&&n&&(t=function(t){var h;if(t==null||t.idp!=="orgid"||(h=n.wlProfile(),h==null||h.name==null||t.name!=null)){var e=_ge("id_n"),u=_ge("id_p"),o=_ge("id_s"),s=_ge("id_a"),f=t?t.displayName:wln,c=t?t.img:null,l=t?t.idp:null,a=t?t.cid:null;e&&o&&s&&(a||f)?(u&&c&&(u.title=f,u.src=c,r(u)),f.length>10&&(f=f.substring(0,10).replace(/\s+$/,"")+"…"),e.textContent=f,e.innerText=f,r(e),i(o),i(s),l==="WL"&&u&&(u.style.className+=" sw_spd")):e&&o&&s&&(i(e),u&&i(u),r(o),r(s))}},sj_evt.bind("wl:auth",function(){t(n.wlProfile())},1),sj_evt.bind("aad:signedout",function(){t({displayName:null,img:null,idp:"orgid"})},1),sj_evt.bind("aad:signedin",function(i){var r,u,f,e;i&&i.length>=2&&(r=i[1],r&&r.displayName&&r.uniqueName&&(u="/orgid/thumbnailPhoto?user={0}",n.orgIdPhotoUrl&&(u=n.orgIdPhotoUrl),f=u.replace("{0}",encodeURIComponent(r.uniqueName)),e={displayName:r.displayName,img:f,idp:"orgid"},t(e)))},1))})(Identity||(Identity={}))
|
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB |
@ -1 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" enable-background="new 0 0 16 16"><g fill="#00809D"><path d="M2.25 0h-1.25c-.263 0-.521.107-.707.293-.186.186-.293.444-.293.707v1.25c0 .552.448 1 1 1s1-.448 1-1v-.25h.25c.552 0 1-.448 1-1s-.448-1-1-1zM1 8.75c.552 0 1-.448 1-1v-1.5c0-.552-.448-1-1-1s-1 .448-1 1v1.5c0 .552.448 1 1 1zM2.25 12h-.25v-.25c0-.552-.448-1-1-1s-1 .448-1 1v1.25c0 .263.107.521.293.707s.444.293.707.293h1.25c.552 0 1-.448 1-1s-.448-1-1-1zM11.75 2h.25v.25c0 .552.448 1 1 1s1-.448 1-1v-1.25c0-.263-.107-.521-.293-.707-.186-.186-.444-.293-.707-.293h-1.25c-.552 0-1 .448-1 1s.448 1 1 1zM6.25 2h1.5c.552 0 1-.448 1-1s-.448-1-1-1h-1.5c-.552 0-1 .448-1 1s.448 1 1 1zM14.5 7h-.5v-.75c0-.552-.448-1-1-1s-1 .448-1 1v.75h-3.5c-.828 0-1.5.671-1.5 1.5v3.5h-.75c-.552 0-1 .448-1 1s.448 1 1 1h.75v.5c0 .828.672 1.5 1.5 1.5h6c.828 0 1.5-.672 1.5-1.5v-6c0-.829-.672-1.5-1.5-1.5z"/></g><path fill="none" d="M0 0h16v16h-16z"/></svg>
|
|
Before Width: | Height: | Size: 964 B |
@ -1 +0,0 @@
|
|||||||
var SerpKeyboardNavigation;(function(){function c(){h=_d.activeElement;n=null;u=null;e=!1;t=-1;nt();u=_w.NavSelector&&NavSelector(!1)}function p(){v();n=null}function w(i){var o,e;i&&(i.keyCode==r.Tab&&s&&(f("TOP"),s=!1),o=_d.activeElement,u&&o&&o.className!=="b_searchbox"&&(i.keyCode==r.Enter?(n=null,f(t==-1?"EN":"EE",t)):b(i)&&(e=k(i.keyCode),e!==-1&&e!==t&&(tt(e),sj_pd(i)))))}function f(n,t){sj_log("CI.SerpKeyboardNav",n,t?t.toString():"")}function b(t){return n||h==_d.activeElement?t.altKey||t.ctrlKey?!1:!0:!1}function k(n){if(n===r.Tab)return d();if(n===r.Down||n===r.Up){var t=document.activeElement;return t&&(t.tagName.toLowerCase()==="select"||t.tagName.toLowerCase()==="input")?-1:g(n===r.Down)}return-1}function d(){var i=-1;return n?(v(),e=!0,t=-1,f("TO")):(i=0,f("TI")),i}function g(i){var r=-1,s,h,o;return n&&(e?(e=!1,s=u.indexOf(_d.activeElement),s!==-1?r=l(i,s):(h=_w.NavSelector&&NavSelector(!0),o=h.indexOf(_d.activeElement),o!==-1&&(r=a(i?o:o-1)))):r=l(i,t),f(i?"AD":"AU",r)),r}function l(n,t){return a(n?t+1:t-1)}function a(n){return Math.max(Math.min(n,u.length-1),0)}function nt(){i=sj_ce("div","kn_p");o=sj_ce("span",y);o.innerHTML="►";i.appendChild(o);o.title="Use the up and down arrow keys to focus results"}function tt(r){t=r;n=u[t];n&&n.parentNode&&(n.parentNode.insertBefore(i,n.parentNode.firstChild),it(i),n.setAttribute("aria-live","true"),n.focus())}function v(){i&&i.parentNode&&i.parentNode.removeChild(i)}function it(n){var t=n.getBoundingClientRect();t.bottom>window.innerHeight&&n.scrollIntoView()}var n,u,t=-1,e=!1,y="kn_a",i,o,s=!0,h,r;(function(n){n[n.Up=38]="Up";n[n.Down=40]="Down";n[n.Tab=9]="Tab";n[n.Enter=13]="Enter"})(r||(r={}));sj_be(_d,"keydown",w);sj_be(_d.body,"mousedown",p,!0);sj_evt.bind("ajax.load",c,1,1);c()})(SerpKeyboardNavigation||(SerpKeyboardNavigation={}))
|
|
@ -1,8 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
|
||||||
<path fill="#919191" d="M15.707,0.293c-0.391-0.391-1.024-0.391-1.415,0L7.994,6.591L1.696,0.293C1.298-0.091,0.665-0.08,0.281,0.318
|
|
||||||
c-0.375,0.388-0.375,1.003,0,1.391l6.298,6.298l-6.298,6.298c-0.384,0.398-0.373,1.031,0.025,1.415c0.388,0.375,1.003,0.375,1.391,0
|
|
||||||
l6.298-6.298l6.298,6.298c0.398,0.384,1.031,0.373,1.415-0.025c0.375-0.388,0.375-1.003,0-1.39L9.409,8.006l6.298-6.298
|
|
||||||
C16.098,1.317,16.098,0.684,15.707,0.293z"/>
|
|
||||||
<path fill="none" d="M0,0h16v16H0V0z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 671 B |
@ -1 +0,0 @@
|
|||||||
var SBIImgsHelper;(function(){function r(){sj_be(_d,n,u)}function u(n){var r=n.target||n.srcElement,u;r&&r.tagName==="IMG"&&r.classList.contains(t)&&r.src&&(u=r.getAttribute(i),u&&sj_evt&&sj_evt.fire&&sj_evt.fire("sbi_searchimgurl",SbiUtil.gimg(r),u,null,SbiUtil.gaps(r)))}var n="click",t="sbiable",i="data-sbiid";r()})(SBIImgsHelper||(SBIImgsHelper={}))
|
|
@ -1,6 +0,0 @@
|
|||||||
<svg focusable="false" width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<rect fill-opacity="0.2" fill="#000" x="0" y="0" width="24" height="24" rx="2"></rect>
|
|
||||||
<g transform="translate(4, 4)">
|
|
||||||
<path d="M13.2916881,1.29304814 L7.99395739,6.59077883 L2.69622669,1.29304814 C2.30349711,0.913737214 1.67923378,0.919161894 1.29315522,1.30524045 C0.907076669,1.691319 0.90165199,2.31558234 1.28096291,2.70831192 L6.57869361,8.00604261 L1.28096291,13.3037733 C0.90165199,13.6965029 0.907076669,14.3207662 1.29315522,14.7068448 C1.67923378,15.0929233 2.30349711,15.098348 2.69622669,14.7190371 L7.99395739,9.42130639 L13.2916881,14.7190371 C13.6844177,15.098348 14.308681,15.0929233 14.6947596,14.7068448 C15.0808381,14.3207662 15.0862628,13.6965029 14.7069519,13.3037733 L9.40922117,8.00604261 L14.7069519,2.70831192 C15.0976827,2.31746305 15.0976827,1.683897 14.7069519,1.29304814 C14.316103,0.902317288 13.6825369,0.902317288 13.2916881,1.29304814 Z" fill="#FFF" fill-rule="nonzero"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 11 KiB |
@ -1 +0,0 @@
|
|||||||
(function(){var t=_ge("id_h"),n=_ge("langChange"),i=_ge("me_header"),r=_ge("langDId"),u=_ge("mapContainer");t!=null&&n!=null&&i==null&&(r===null||u===null)&&(t.insertBefore(n,t.firstChild),n.className=n.className+" langdisp")})()
|
|
@ -1,4 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" enable-background="new 0 0 16 16">
|
|
||||||
<path d="M0 0h16v16h-16v-16z" fill="none"/>
|
|
||||||
<path fill="#007DAA" d="M11 4h4l-5-4v3c0 .552.447 1 1 1zm-3-1v-3h-4.5c-.828 0-1.5.672-1.5 1.5v13c0 .828.672 1.5 1.5 1.5h10c.828 0 1.5-.672 1.5-1.5v-8.5h-4c-1.654 0-3-1.346-3-3zm4.707 10.707c-.181.181-.431.293-.707.293h-7c-.276 0-.526-.112-.707-.293s-.293-.431-.293-.707.112-.526.293-.707.431-.293.707-.293h7c.276 0 .526.112.707.293s.293.431.293.707-.112.526-.293.707zm0-5.414c.181.181.293.431.293.707s-.112.526-.293.707-.431.293-.707.293h-7c-.276 0-.526-.112-.707-.293s-.293-.431-.293-.707.112-.526.293-.707.431-.293.707-.293h7c.276 0 .526.112.707.293z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 726 B |
@ -1 +0,0 @@
|
|||||||
var HeaderPlusAlgo_Selector;(function(n){function e(n){for(var u,l,h,e=[],c=t(sj_b.querySelectorAll(f+(n?", :focus":""))),s=0;s<c.length;s++)u=c[s],u.className.indexOf("b_ans")!=-1||u.id=="b_pole"?(l=t(u.querySelectorAll(r)),l.length==0&&(h=o(u),h&&e.push(h))):i(u)||e.push(u);return e}function t(n){for(var i=[],t=0;t<n.length;t++)i.push(n[t]);return i}function i(n){if(n){var t=window.getComputedStyle(n);return t&&t.display=="none"?!0:i(n.parentElement)}return!1}function o(n){for(var r,e=t(n.querySelectorAll(u)),f=0;f<e.length;f++)if(r=e[f],!i(r)&&r.tabIndex!=-1)return r;return null}var r="#b_results h2 a,#b_results h3 a,#b_results h4 a",u="input, select, textarea,a[href],*[tabindex = '0']",f=r+",#b_results .b_ans,#b_content #b_pole";n.getSelectableElements=e})(HeaderPlusAlgo_Selector||(HeaderPlusAlgo_Selector={}));NavSelector=HeaderPlusAlgo_Selector.getSelectableElements
|
|
@ -1,4 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
||||||
<path d="M0 0h16v16h-16z" fill="none"/>
|
|
||||||
<path d="M8 1a7 7 0 1 0 7 7 7 7 0 0 0-7-7zm1 10a1 1 0 0 1-2 0v-3a1 1 0 0 1 2 0zm-.293-5.293a1 1 0 1 1 .293-.707 1 1 0 0 1-.293.707z" fill="#767676"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 282 B |
@ -1 +0,0 @@
|
|||||||
var SerpVTI=typeof SerpVTI=="undefined"?{}:SerpVTI,SerpVT=SerpVT||new function(){function c(){if(typeof i=="function"&&i("Start"),SerpVT.player){var n=SerpVT.player.parentElement;n&&(n.className=r,n.style.backgroundColor="black");SerpVT.player.style.height=SerpVT.player.style.width="100%";sj_so(SerpVT.player,100);SerpVTI.vs&&SerpVTI.vs();_G.TestEnv&&sj_evt.fire("Vi.Hover.Display")}}function it(){st();SerpVT.player=null;n=null;t=null}function f(){var n,t;typeof i=="function"&&i("Stop");SerpVT.player&&(rt(),n=SerpVT.player.parentElement,n&&(n.className=r,n.style.backgroundColor="transparent",n.innerHTML=""),SerpVT._destroyAfterPlay&&(t=n.parentNode,t&&t.removeChild&&t.removeChild(n),SerpVT.lp=null,SerpVT.lt=null,it()));SerpVT._destroyAfterPlay=!1;SerpVTI.mot&&SerpVTI.mot()}function rt(){SerpVT.player&&(SerpVT.player.style.display="none",n&&(n.autoplay=!1,n.removeAttribute("src"),n.load()),t&&t.removeAttribute("src"))}function l(){typeof i=="function"&&i("Error");f()}function a(){typeof i=="function"&&i("Loading");SerpVT.player&&SerpVT.player.parentElement&&(SerpVT.player.parentElement.className=g)}function ut(){SerpVT.v=parseInt(sj_cook.get(e,y));SerpVT.v>=0&&SerpVT.v<=100||(SerpVT.v=50);n.volume=SerpVT.v/100}function ft(t){SerpVT.m=p?sj_cook.get(e,v)=="1":!0;typeof t!="undefined"&&t===!0&&(SerpVT.m=!0);n.muted=SerpVT.m}function et(t){if(t){var i=sj_gx();i.open("GET",t,!0);i.responseType="blob";i.onreadystatechange=function(r){if(i.readyState==4&&i.status==200){var f=i.response,e=(_w.URL||_w.webkitURL).createObjectURL(f);if(u=e,u&&n)try{n.srcObject=u}catch(r){n.src=t}else n&&(n.src=t)}else i.readyState===4&&(u=null,n&&(n.src=t))};i.onerror=function(){n&&(n.src=t)};i.send()}}function ot(i,r,f,e,h,c){var v,y;f&&f.length>0?(u=null,n=sj_ce("video",i,o),SerpVT.player=n,n.setAttribute("playsinline",""),n.setAttribute("webkit-playsinline",""),n.style.width=e!=null&&e>0?e+"px":"1px",n.style.height=h!=null&&h>0?h+"px":"1px",n.poster=r,k(),ut(),ft(c),n.autoplay=!0,n.setAttribute("type","video/mp4"),w===!0?et(f):n.src=f):r&&r.length>0&&(a(),t=sj_ce("img",i,o),v="&h="+h,r=b("&h=\\d+",v,r),y="&w="+e,r=b("&w=\\d+",y,r),t.onerror=function(){l()},t.onload=function(){sj_evt.fire(s,t)},t.src=r,t.style.height=h,t.style.width=e,SerpVT.player=t,k())}function b(n,t,i){var u=i,f,r;return n&&n.length>0&&(f=new RegExp(n,"g"),r=f.exec(i),u=r&&r.length>0?i.replace(r[0],t):i+t),u}function k(){SerpVT.player&&(sj_be(n,"loadstart",a),sj_be(n,"playing",c),sj_be(n,"ended",f),sj_be(n,"error",l),sj_evt.bind(s,d))}function st(){SerpVT.player&&(sj_ue(n,"loadstart",a),sj_ue(n,"playing",c),sj_ue(n,"ended",f),sj_ue(n,"error",l),sj_evt.unbind(s,d))}function d(n){n!=null&&n.length>1&&n[1]==t&&c()}var e="SRCHHPGUSR",v="VMUTE",y="VOLUME",r="vt_vp",g="vt_vph",o="vt_fp",nt="tw",tt="th",s="SerpVT.InlineImage.Show",h;var n,t,i=null,p=!1,w=!1,u=null;this.hover=function(n,t,u,e,s,c,l){var a,b,v,g;if((SerpVT.m=!0,SerpVT.v=50,SerpVT.lp=null,SerpVT.lt=null,SerpVT._destroyAfterPlay=!1,(!(t==null||t.length<1)||l!=null&&l!=l.length<1)&&t!=SerpVT.lp&&l!=SerpVT.lt)&&(SerpVT._destroyAfterPlay===!0&&i&&i("Error"),SerpVT.player&&f(),w=c,SerpVT._destroyAfterPlay=!!e,i=s,a=n.firstChild,b=new RegExp(r,"g"),a&&!b.test(a.className)&&(v=sj_ce("span",null,r),v.setAttribute("data-priority","2"),n.insertBefore(v,a),a=v),!a.firstChild||a.firstChild.className!=o)){var k=n.getAttributeNode(nt),d=n.getAttributeNode(tt),y=0,p=0;k&&d?(y=k.value,p=d.value):(y=n.clientWidth,p=n.clientHeight);SerpVTI.mov&&SerpVTI.mov(n);(t&&t.length>0||l&&l.length>0)&&(h||(h=0),g=r+h++,ot(g,l,t,y,p,u),sj_so(SerpVT.player,0));SerpVT.player&&(a.insertBefore(SerpVT.player,a.firstChild),SerpVT._destroyAfterPlay==!0?sj_ue(a.parentNode,"mouseout",SerpVT.unhover):(sj_be(a.parentNode,"mouseout",SerpVT.unhover),sj_be(SerpVT.player,"mouseout",SerpVT.unhover)));t&&t.length>0&&(SerpVT.lp=t);l&&l.length>0&&(SerpVT.lt=l)}};this.unhover=function(n){n=sj_ev(n);var t=sj_mo(n),i=typeof HoverUtils!="undefined"&&HoverUtils!=null&&typeof HoverUtils.getClassName=="function"?HoverUtils.getClassName(t):"";t&&i.match(/^(vol cont)|volMute|(vt_(vph|fp|povl_c|pt|pts))$/)||(SerpVT.player&&SerpVT.player.parentNode&&sj_ue(SerpVT.player.parentNode,"mouseout",SerpVT.unhover),SerpVT.lp=null,SerpVT.lt=null,f())};this.status=function(n){n=="Mute"&&SerpVT.toggleMute()};this.toggleMute=function(){SerpVT.m=!SerpVT.m;n&&(n.muted=SerpVT.m);p=!0;sj_cook.set(e,v,SerpVT.m?"1":"0",!0)};this.setVolume=function(t){t>=0&&t<=100&&t!=SerpVT.v&&(SerpVT.v=t,n&&(n.volume=SerpVT.v/100),sj_cook.set(e,y,SerpVT.v.toString(),!0))}};SerpVT.m=!0;SerpVT.v=0
|
|
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 16 KiB |
@ -1,5 +0,0 @@
|
|||||||
<svg width="20px" height="16px" viewBox="0 0 20 16" focusable="false" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<g transform="translate(-10, -12)" fill="#007DAA" >
|
|
||||||
<path d="M28.125,14.4615385 L25,14.4615385 L24.26875,13.0203077 C23.95125,12.3950769 23.30125,12 22.59125,12 L17.40875,12 C16.69875,12 16.04875,12.3950769 15.73125,13.0203077 L15,14.4615385 L11.875,14.4615385 C10.84,14.4615385 10,15.2886154 10,16.3076923 L10,26.1538462 C10,27.1729231 10.84,28 11.875,28 L28.125,28 C29.16,28 30,27.1729231 30,26.1538462 L30,16.3076923 C30,15.2886154 29.16,14.4615385 28.125,14.4615385 Z M20,25.5384615 C17.23875,25.5384615 15,23.3341538 15,20.6153846 C15,17.8966154 17.23875,15.6923077 20,15.6923077 C22.76125,15.6923077 25,17.8966154 25,20.6153846 C25,23.3341538 22.76125,25.5384615 20,25.5384615 Z M20,18.1538462 C18.62125,18.1538462 17.5,19.2578462 17.5,20.6153846 C17.5,21.9729231 18.62125,23.0769231 20,23.0769231 C21.37875,23.0769231 22.5,21.9729231 22.5,20.6153846 C22.5,19.2578462 21.37875,18.1538462 20,18.1538462 Z"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1 +0,0 @@
|
|||||||
var Identity=Identity||{};(function(n,t,i,r,u,f,e){e.wlProfile=function(){var r=sj_cook.get,u="WLS",t=r(u,"N"),i=r(u,"C");return i&&e.wlImgSm&&e.wlImgLg?{displayName:t?t.replace(/\+/g," "):"",name:n(t.replace(/\+/g," ")),img:e.wlImgSm.replace(/\{0\}/g,f(i)),imgL:e.wlImgLg.replace(/\{0\}/g,f(i)),idp:"WL"}:null};e.headerLoginMode=0;e.popupAuthenticate=function(n,i,r){var o,u,h,c,v=sb_gt(),l=Math.floor(v/1e3).toString(),s="ct",a=new RegExp("([?&])"+s+"=.*?(&|$)","i");return n.toString()==="WindowsLiveId"&&(o=e.popupLoginUrls,u=o[n],u=u.match(a)?u.replace(a,"$1"+s+"="+l+"$2"):u+"?"+s+"="+l,e.popupLoginUrls.WindowsLiveId=u),(o=e.popupLoginUrls)&&(u=o[n]+(i?"&perms="+f(i):"")+(r?"&src="+f(r):""))&&(h=e.pop(u))&&(c=setInterval(function(){h.closed&&(t.fire("id:popup:close"),clearInterval(c))},100))};e.pop=function(n){return r.open(n,"idl","location=no,menubar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no,width=1000,height=620")};var s=u("id_h"),o=u("id_l"),h="click";t.bind("onP1Lazy",function(){setTimeout(function(){if(s&&o&&(sj_jb("Blue/BlueIdentityDropdownRedirect_c",0,s,"mouseover",o,h,o,"focus"),i(o,h,function(n){e.hdrClk=n})),s){var n="BNCenter";(r[n]=r[n]||{}).ihrt=sb_gt();t.fire("identityHeaderShown")}},50)},1)})(decodeURIComponent,sj_evt,sj_be,_w,_ge,encodeURIComponent,Identity,_G.RTL)
|
|
@ -1 +0,0 @@
|
|||||||
.MicrosoftMap .MapsInfoboxContainer{display:-ms-inline-flexbox;display:inline-flex;max-width:290px;font:13px Arial,Helvetica,Sans-Serif;color:#666 !important;background-color:#fff;border-radius:2px;-moz-box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px 0 rgba(0,0,0,.14);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px 0 rgba(0,0,0,.14);box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px 0 rgba(0,0,0,.14)}.MicrosoftMap .InfoboxCustom .infoBoxLink{display:flex;text-decoration:none;color:#666;cursor:default}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer sd{display:flex}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_imageContainer{max-width:80px;height:auto;min-height:80px;margin:0;padding:0;display:flex;display:-ms-flexbox;flex-direction:column;-ms-flex-direction:column;justify-content:center;-ms-flex-pack:center;background-color:#cecece}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_imageContainer .bm_ib_image{width:80px}.MicrosoftMap.TravelOverlay .InfoboxCustom .MapsInfoboxContainer .bm_ib_imageContainer .bm_ib_image{height:auto;width:80px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_container{width:auto;padding:12px 16px 12px 12px;max-width:210px}.MicrosoftMap .InfoboxCustom .infoBoxLink:hover,.MicrosoftMap .InfoboxCustom .infoBoxLink:focus,.MicrosoftMap .InfoboxCustom .infoBoxLink .lMCard:hover,.MicrosoftMap .InfoboxCustom .infoBoxLink .lMCard:focus{background-color:#ebf6ff}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_container.bm_ib_titleonly{max-width:210px;width:auto;padding:2px 16px 0 12px;min-height:20px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_container.bm_ib_titleonly .bm_ib_title{max-width:210px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_title{font-weight:600;color:#111;width:100%;padding-bottom:4px;line-height:17px;max-height:32px;overflow:hidden;max-width:190px;text-overflow:ellipsis}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_titleonly .bm_ib_title{padding-bottom:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_greatRatingContainer{display:flex;font-size:11px;width:100%;line-height:16px;margin:2px 0;color:#666}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_greatRatingContainer .bm_ib_greatSchoolImage{padding-right:4px;height:16px;width:16px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_metadata_noImg{font-size:11px;width:100%;line-height:16px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_metadata_noImg.interest{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-ms-text-overflow:ellipsis}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_metadata_noImg.itinDesc{max-height:30px;overflow:hidden;text-overflow:ellipsis;-ms-text-overflow:ellipsis}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_metadata_noImg.description{word-break:break-all}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_metadata_noImg li{padding-bottom:0}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_rate_and_price{font-size:11px;width:100%;line-height:16px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_rate_and_price .csrc.sc_rc1{vertical-align:text-bottom}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .bm_ib_action_links{font-size:13px;border-top:1px solid #ddd;width:100%;line-height:16px}.MicrosoftMap .InfoboxCustom .MapsInfoboxContainer .csrc{padding-right:4px}
|
|
Before Width: | Height: | Size: 124 B |
@ -1 +0,0 @@
|
|||||||
function ad_pt(n){function t(n,t,i,r){Log&&Log.Log&&Log.Log(n,t,i,r)}var e="sendBeacon",i,r,f,u;if(!n){t("Ads","AdsParallelTracking","ReportLink is missing",!0);return}if(i=navigator,r=!i||!i[e],!r)try{i[e](n)}catch(o){r=!0}r?(f=!1,_w.sj_gx&&(u=sj_gx(),u&&(u.open("GET",n),u.send(),f=!0,t("Ads","AdsParallelTracking","Fallback involved",!0))),f||t("Ads","AdsParallelTracking","Fallback failed",!0)):t("Ads","AdsParallelTracking","Success",!0)}
|
|
@ -1 +0,0 @@
|
|||||||
IRP=new function(){function t(){n=_d.querySelector?_d.querySelector(".irpserp"):null;n&&typeof IRH!="undefined"&&(_w.imageRichHover=new IRH,_w.imageRichHover.IsInitialized&&(_w.imageRichHover.logHover=i,_w.imageRichHover.attach(n,["a"])))}function i(n,t){if(n){t||(t="h");var i=['{"T":"CI.Hover","AppNS":"',n.ns,'","K":"',n.k,'.1","Name":"ImgAns","HType":"',t,'","TS":',sb_gt(),"}"];r(i.join(""))}}function r(n){var t=new Image,i=["/fd/ls/ls.gif?IG=",_G.IG,"&Type=Event.ClientInst&DATA=",n,"&log=UserEvent"];return t.src=i.join(""),!0}var n=null;t()}
|
|
Before Width: | Height: | Size: 120 KiB |
@ -1 +0,0 @@
|
|||||||
var RapFeedback;(function(n){var t;(function(n){"use strict";function t(n){return n&&n.impressionGuid?n.impressionGuid.replace("{","").replace("}","").replace(/-/g,""):_G.IG}n.Provide=t})(t=n.ImpressionGuidProvider||(n.ImpressionGuidProvider={}))})(RapFeedback||(RapFeedback={}))
|
|
@ -1 +0,0 @@
|
|||||||
.feedbackPanel .me-overlay-listings{margin-top:15px;margin-bottom:15px}.feedbackPanel .me-overlay-listings .me-b_rich{padding-top:0}.feedbackPanel .me-overlay-listings .me-b_rich>ul.me-b_vList>li{padding-bottom:0}.feedbackPanel .me-listings-item{cursor:pointer;color:#666}.feedbackPanel .me-listings-item .me-b_factrow{color:#666}.feedbackPanel .me-listings-item{display:block;border-bottom:4px solid #f5f5f5}.feedbackPanel .me-overlay-listings .me-entity-listing-container .me-b_vList li:first-child .me-listings-item{border-top:4px solid #f5f5f5}.feedbackPanel .me-overlay-listings .me-b_vPanel{float:left;margin-top:11px;margin-left:16px;height:97px}.feedbackPanel .me-overlay-listings .me-b_vList .me-b_vPanel div{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:235px;padding-bottom:0;font:13px 'Segoe UI',Helvetica,Arial,Sans-Serif;color:#505050}.feedbackPanel .me-overlay-listings .me-entity-listing-container,.feedbackPanel .me-overlay-listings .me-b_vPanel .me-b_factrow{margin-bottom:4px}.feedbackPanel .me-overlay-listings .me-b_vPanel>div:first-child div{font:15px 'Segoe UI',Helvetica,Arial,Sans-Serif;font-weight:500;color:#333}.feedbackPanel .me-listings-item.hover,.me-listings-item:hover,.me-listings-item:focus{background-color:#dcecf8;text-decoration:none}.feedbackPanel .me-overlay-listings .me-listings-item .me-b_imagePair.me-tall_m{float:left;padding-left:0}.feedbackPanel .me-overlay-listings .me-listings-item .me-b_imagePair.me-tall_m>div{float:left}.feedbackPanel .me-overlay-listings .me-listings-item>div:first-child:after{content:"";display:table;clear:both}.feedbackPanel .me-overlay-listings .me-listings-item .me-b_imagePair.me-tall_m>.inner{margin:0;padding:0}.feedbackPanel .feedbackDidYouMeanText{font-size:18px;color:#444;margin-top:10px;margin-left:10px}.feedbackPanel .similarBusinessOnBingText{font-size:14px;color:#767676;margin-top:10px;margin-left:10px}.feedbackPanel .meautosuggesttext{padding:15px 10px 5px 5px}
|
|
@ -1 +0,0 @@
|
|||||||
(function(){function t(t){typeof Log!==n&&typeof Log.Log!==n&&Log.Log("NcHeader","Rewards",t,!0)}function i(){var r,f,e;if(typeof bepcfg===n)t("bepcfg Undefined");else if(r=_ge("nc_iid"),r){var o=typeof bepcfg.wb!==n,s=typeof bepcfg.v!==n,u=r.getAttribute("_IG");if(u&&u.length||(u=_G.IG),f="&IID="+r.getAttribute("_iid")+"&IG="+u,s)try{sj_cook.get("")}catch(l){f+="&CID="+r.getAttribute("_cid")}var c="/rewardsapp/ncheader?ver="+_G.AppVer+f,h=[_w.top,_w],i=sj_gx();i.open("POST",c,!0);i.setRequestHeader("Content-type","application/x-www-form-urlencoded");o&&(i.onreadystatechange=function(){i&&i.readyState==4&&i.status==200&&sj_appHTML(sj_b,i.responseText)});e="wb="+(o?bepcfg.wb:"0");s&&(e+=";i="+(h[0]!==h[1].self?0:1)+";v="+bepcfg.v);i.send(e)}else t("nc_iid NotFound")}var n="undefined";sj_evt.bind("onHTML",function(){i()},!0,0)})()
|
|
@ -1 +0,0 @@
|
|||||||
var Chevrons;(function(n){function e(n,t,i){return new f(n,t,i)}var r="disabled",u="hidden",t="darkchv",i="exp",f=function(){function n(n,t,r){var u=this;this.controlId=n;this.prevSlideBtn=t;this.nextSlideBtn=r;this.onPrevClick(function(){var n="slideexp_slideprev",t="Prev",r=Lib.CssClass.contains(u.prevSlideBtn,i);r&&(Lib.CssClass.remove(u.prevSlideBtn,i),n="slideexp_expandleft",t="ExpandLeft");sj_evt.fire(n,u.controlId);Log.Log(t,"SlideExp","Chevron")});this.onNextClick(function(){var n="slideexp_slidenext",t="Next",r=Lib.CssClass.contains(u.nextSlideBtn,i);r&&(Lib.CssClass.remove(u.nextSlideBtn,i),n="slideexp_expandright",t="ExpandRight");sj_evt.fire(n,u.controlId);Log.Log(t,"SlideExp","Chevron")});this.onMouseOver(function(){sj_evt.fire("slideexp_pauseautoslide",u.controlId)});this.onMouseOut(function(){sj_evt.fire("slideexp_resumeautoslide",u.controlId)});sj_evt.bind("slideexp_leftmost",function(n){u.isForMe(n)&&(u.disablePrev(!0),u.disableNext(!1))});sj_evt.bind("slideexp_rightmost",function(n){u.isForMe(n)&&(u.disablePrev(!1),u.disableNext(!0))});sj_evt.bind("slideexp_middle",function(n){u.isForMe(n)&&(u.disablePrev(!1),u.disableNext(!1))});sj_evt.bind("slideexp_leftrightmost",function(n){u.isForMe(n)&&(u.disablePrev(!0),u.disableNext(!0))});sj_evt.bind("slideexp_mouseover_show",function(n){u.isForMe(n)&&u.show()});sj_evt.bind("slideexp_mouseout_hide",function(n){u.isForMe(n)&&u.hide()});sj_evt.bind("slideexp_mouseover_dark",function(n){u.isForMe(n)&&u.changToDark()});sj_evt.bind("slideexp_mouseout_light",function(n){u.isForMe(n)&&u.changToLight()})}return n.prototype.onPrevClick=function(n){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&n&&sj_be(this.prevSlideBtn,"click",n)},n.prototype.onNextClick=function(n){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&n&&sj_be(this.nextSlideBtn,"click",n)},n.prototype.onMouseOver=function(n){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&n&&(sj_be(this.prevSlideBtn,"mouseover",n),sj_be(this.nextSlideBtn,"mouseover",n))},n.prototype.onMouseOut=function(n){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&n&&(sj_be(this.prevSlideBtn,"mouseout",n),sj_be(this.nextSlideBtn,"mouseout",n))},n.prototype.show=function(){this.setHidden(!1)},n.prototype.changToDark=function(){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&(Lib.CssClass.add(this.prevSlideBtn,t),Lib.CssClass.add(this.nextSlideBtn,t))},n.prototype.hide=function(){this.setHidden(!0)},n.prototype.changToLight=function(){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&(Lib.CssClass.remove(this.prevSlideBtn,t),Lib.CssClass.remove(this.nextSlideBtn,t))},n.prototype.disablePrev=function(n){this.prevSlideBtn!=null&&this.updateClassIf(this.prevSlideBtn,n,r)},n.prototype.disableNext=function(n){this.nextSlideBtn!=null&&this.updateClassIf(this.nextSlideBtn,n,r)},n.prototype.setHidden=function(n){this.prevSlideBtn!=null&&this.nextSlideBtn!=null&&(this.updateClassIf(this.prevSlideBtn,n,u),this.updateClassIf(this.nextSlideBtn,n,u))},n.prototype.updateClassIf=function(n,t,i){t?Lib.CssClass.add(n,i):Lib.CssClass.remove(n,i)},n.prototype.isForMe=function(n){return n[1]===this.controlId},n}();n.init=e;sj_evt.fire("chevrons_init",f)})(Chevrons||(Chevrons={}))
|
|
@ -1 +0,0 @@
|
|||||||
(function(){function i(){var f="data-load",u,i;if(n&&!n.hasAttribute(f))try{if(_d.body.appendChild(n),typeof sj_gx=="function"){if(u=r.replace("%IG%",_G.IG).replace("%IID%",n.getAttribute("data-iid")).replace("%PARTNER%",n.getAttribute("data-ptn")),n.setAttribute(f,"1"),i=sj_gx(),!i)return null;i.onreadystatechange=function(){typeof sj_appHTML=="function"&&4==i.readyState&&200==i.status&&sj_appHTML(n,i.responseText)};i.open("GET",t?SbiTst.at(u):u,!0);i.send(null)}}catch(e){}}function u(){if(n){var r=n.getAttribute("data-evt");r&&!t?sj_evt.bind(r,i,!0):i()}}var r="/images/sbi?mmasync=1&ig=%IG%&iid=%IID%&ptn=%PARTNER%",n=_ge("sbicom_loader"),t=typeof SbiTst!="undefined";u()})()
|
|
Before Width: | Height: | Size: 14 KiB |
@ -1 +0,0 @@
|
|||||||
var wln=wln||"",Identity;(function(n){function i(n){n.style.display="none";n.setAttribute("aria-hidden","true")}function r(n){n.style.display="inline-block";n.setAttribute("aria-hidden","false")}var u,t;n&&n.sglid&&sj_be&&sj_cook&&sj_evt&&_d&&typeof _d.querySelectorAll!="undefined"&&(u=function(n){var i=n.getAttribute("data-a"),t=n.getAttribute("data-p");i==="false"&&t!=null&&sj_be(n,"click",function(){sj_cook.set("SRCHUSR","POEX",t,!0,"/")})},sj_evt.bind("identityHeaderShown",function(){var n=!1;sj_be(_ge("id_l"),"click",function(){var i,t;if(!n){for(i=_d.querySelectorAll(".b_imi"),t=0;t<i.length;t++)u(i[t]);n=!0}})},!0));sj_evt&&n&&(t=function(t){var h;if(t==null||t.idp!=="orgid"||(h=n.wlProfile(),h==null||h.name==null||t.name!=null)){var e=_ge("id_n"),u=_ge("id_p"),o=_ge("id_s"),s=_ge("id_a"),f=t?t.displayName:wln,c=t?t.img:null,l=t?t.idp:null,a=t?t.cid:null;e&&o&&s&&(a||f)?(u&&c&&(u.title=f,u.src=c,r(u)),f.length>10&&(f=f.substring(0,10).replace(/\s+$/,"")+"…"),e.textContent=f,e.innerText=f,r(e),i(o),i(s),l==="WL"&&u&&(u.style.className+=" sw_spd")):e&&o&&s&&(i(e),u&&i(u),r(o),r(s))}},sj_evt.bind("wl:auth",function(){t(n.wlProfile())},1),sj_evt.bind("aad:signedout",function(){t({displayName:null,img:null,idp:"orgid"})},1),sj_evt.bind("aad:signedin",function(i){var r,u,f,e;i&&i.length>=2&&(r=i[1],r&&r.displayName&&r.uniqueName&&(u="/orgid/thumbnailPhoto?user={0}",n.orgIdPhotoUrl&&(u=n.orgIdPhotoUrl),f=u.replace("{0}",encodeURIComponent(r.uniqueName)),e={displayName:r.displayName,img:f,idp:"orgid"},t(e)))},1))})(Identity||(Identity={}))
|
|
@ -1 +0,0 @@
|
|||||||
function IRH(){function tt(n){r=sj_ce("img");r.src="/fd/s/mmload.gif";r.className="irhld";c=r.style;i&&(c.left=(i.w-30)/2+"px",c.top=(i.h-30)/2+"px");n.appendChild(r);n.appendChild(sj_ce("img"))}function it(t){var i=(new Date).getTime()+ht;b(t,function(r){var f=n.getHoverEl(),u;f==t&&r&&r.w>0&&r.h>0&&(u=i-(new Date).getTime(),u>0?(w(),s=sb_st(function(){n.dispHov(t,r,!1)},u)):n.dispHov(t,r,!1))})}function rt(n){var t,i;if(n&&n.w&&n.h&&(t=n.w,i=n.h,!isNaN(t)&&!isNaN(i))){var u=t,f=i,r=p;return t>i&&t>r?(f=Math.round(r*i/t),u=r):i>r&&(u=Math.round(r*t/i),f=r),{w:u,h:f}}return null}function ut(t,u,f){function e(t){var i=n.getContContent(),u=i.lastChild,f=sj_ce("img");f.src=h(t);u&&u!=r?i.replaceChild(f,u):i.appendChild(f)}function s(t){function e(t,r,u){i&&t&&(o&&o.stop(),l=i,a=t,o=new sj_anim(function(t,i){var f=l.w,e=l.h,o=a.w,s=a.h,h={w:(o-f)*i/100+f,h:(s-e)*i/100+e};k(h);n.setContPos(u);sj_so(r,i)}),o.init(null,0,100,10,function(){o=null}))}for(var f=n.getContContent(),u=f.childNodes,r;u.length>2;)f.removeChild(u[1]);u.length>1&&(r=u[1],sj_fader().init(r,100,0,10,function(){r&&r.parentNode&&r.parentNode.removeChild(r)}));b(t,function(r){if(n.getHoverEl()==t){var u=sj_ce("img");u.src=h(t);f.appendChild(u);sj_so(u,0);r.w==0&&r.h==0&&(r=i);e(r,u,t)}})}f?s(t):(e(t),k(u))}function ft(){w()}function w(){s!=null&&(sb_ct(s),s=null)}function et(){f&&sb_ct(f);e&&sb_ct(e);f=e=null}function ot(n){t.logHover&&(t.logHover(n),f=sb_st(function(){f=null;t.logHover(n,"d2")},2e3),e=sb_st(function(){e=null;t.logHover(n,"d5")},5e3))}function h(t){var i=n.hoverAttr(t,nt),r;if(d())return[i].join("");r=i&&i.length>0&&(i.indexOf("http://")==0||i.indexOf("https://")==0||i.indexOf("/")==0)?[i]:[g,"?id=",encodeURIComponent(i),"&pid=",ct];var u=!!t.hasAttribute,f=u?t.hasAttribute(v):t[v]!=null,e=u?t.hasAttribute(y):t[y]!=null,o=n.hoverAttrNum(t,v,p),s=n.hoverAttrNum(t,y,p);return r.push("&w=",o,"&h=",s,"&p=0"),(f||e)&&r.push("&r=0"),r.join("")}function b(n,t){var i=h(n),r;u[i]==null?(r=new Image,r.onerror=function(){var n={w:0,h:0};u[i]==null?u[i]=n:n=u[i];t&&t(n)},r.onload=function(){var n=st({w:r.width,h:r.height});u[i]=n;t&&t(n)},r.src=i):t(u[i])}function st(n){var t=Math.min(Math.max(n.w,186),330),i=n.w>0?Math.floor(n.h*t/n.w):0;return{w:t,h:i}}function k(t){var u,o,r;if(d()&&(t=rt(t)),t){var c=n.getCont(),y=c.style,l=c.firstChild,a=l.style,v=l.childNodes,f=t.w,e=t.h,s="",h="";for(f&&f>0&&(s=f+"px"),e&&e>0&&(h=e+"px"),y.width=a.width=s,a.height=h,u=0;u<v.length;u++)o=v[u],r=o.style,o.className!="irhld"?(r.width=s,r.height=h):(r.left=(f-30)/2+"px",r.top=(e-30)/2+"px");i=t}}function d(){var r=n.getHoverEl(),t,i;return r&&(t=n.hoverAttr(r,"m"),t&&(i=eval("("+t+")"),i&&i.angf))?!0:!1}var t=this,n=null,r=null,c=null,s=null,f=null,e=null,o=null,l=null,a=null,g="http://ts1.mm.bing.net/th",u={},i=null,nt="ihk",ht=500,v="maxw",y="maxh",ct="3.1",p=300;(t.IsInitialized=!1,typeof MMRH!="undefined")&&(n=new MMRH,t.items=n.items,t.hoverAttr=n.hoverAttr,t.getCont=n.getCont,t.addIntercept=n.addIntercept,n.hoverClass+=" irhins",n.createEmptyHoverContent=tt,n.createHoverContent=ut,n.onHoverImmediate=it,n.onHoverDisplayed=ot,n.onHoverOut=et,n.onHideHoverContainer=ft,n.enableH2H=!0,t.IsInitialized=!0,t.setThumbUrl=function(n){g=n},t.attach=function(t,i){n.attach(t,i,nt)})}var IRHH={}
|
|
Before Width: | Height: | Size: 12 KiB |
@ -1 +0,0 @@
|
|||||||
var bepns=bepns||function(n,t){function rt(){if(u=n("id_rh"),i=n("bepfo"),!i){var r=n("id_rwl");r&&(i=t("div"),i.id="bepfo",i.className=o,r.parentNode&&r.parentNode.insertBefore(i,r.nextSibling))}ft();sj_be(u,h,b,!1);sj_evt.bind(w,k,!1);sj_evt.bind(p,ht);sj_evt.bind("onP1",ut,1);sj_evt.bind("id:refreshed",et,1)}function ut(){var n=0,t=setInterval(function(){u&&u.offsetWidth>0&&u.offsetHeight>0?(clearInterval(t),sj_evt.fire("bepready",d)):n==80&&clearInterval(t);n++},400)}function ft(){st(u,it)}function et(){ot(_ge("idd_rwds"),_ge("idd_rwdstrial"))}function ot(n,t){n&&t&&(t.href=n.href,n.h?t.h=n.h:n.getAttribute&&n.getAttribute("h")&&t.setAttribute("h",n.getAttribute("h")))}function st(n,t){n&&(n.href=t)}function ht(n){n[1]!==y&&e()}function s(n,t){if(n&&n.className){var i=" "+n.className+" ";return i.indexOf(" "+t+" ")!==-1}return!1}function a(n,t){n&&!s(n,t)&&(n.className+=" "+t)}function v(n,t){if(s(n,t)){var i=new RegExp("(\\s|^)"+t+"(\\s|$)","g");n.className=n.className.replace(i," ")}}function b(n){i&&(s(i,o)?nt(n):e(n))}function k(n){i&&(!i||s(i,o)?nt(n):e(n),sj_evt.unbind(w,k))}function ct(){u&&sj_ue(u,h,b,!1)}function d(n){typeof _H!="undefined"&&(n&&n>0?lt():g())}function lt(){a(u,"rigleamon")}function g(){v(u,"rigleamon")}function nt(n){if(sj_evt.fire("focusChange","bep"),i){i.firstChild||(r=t("iframe"),r.id="bepfm",r.frameBorder="no",r.scrolling="no",r.height=0,sj_be(r,tt,yt,!1),i.appendChild(r),f=t("div"),f.id="bepfl",f.innerText=f.textContent="Loading...",i.appendChild(f),vt(f));var w=_w.location.search.substr(1),g=/(^|&)rewardstesthooks=1(&|$)/i.exec(w),b=/(?:^|&)rewardsbag=([^&]*)(?:&|$)/i.exec(w),s=new Date,k=s.getDate(),d=s.getMonth()+1,nt=(d<10?"0":"")+d+"/"+(k<10?"0":"")+k+"/"+s.getFullYear();r.src="/rewardsapp/bepflyoutpage?style=modular&date="+nt+(g&&b?"&atlahostname=localhost&bag="+b[1]:"");v(i,o);u.setAttribute("aria-expanded","true")}a(u,"openfo");sj_sp(n);sj_evt.fire(p,y);sj_be(_d,h,e,!0);sj_be(_d,c,l,!0)}function e(n){s(i,o)||a(i,o);v(u,"openfo");typeof _H!="undefined"&&g();u.setAttribute("aria-expanded","false");sj_ue(_d,h,e,!0);sj_ue(_d,c,l,!0);r&&r.contentWindow&&sj_ue(r.contentWindow.document,c,l,!0);n&&sj_sp(n)}function at(n){n&&(n.style.display="none")}function vt(n){n&&(n.style.display="block")}function yt(){at(f);r.height=Math.min(r.contentWindow.document.body.scrollHeight,569);r&&r.contentWindow&&sj_be(r.contentWindow.document,c,l,!0)}var y="bepfo",p="onPopTR",w="openbep",u,i,f,r,h="click",c="keyup",tt="load",o="b_hide",it="javascript:void(0)",l=function(n){var f=n.which||n.keyCode,i=sj_et(n),t;if(f==27){e(n);u.focus();return}if(f==9&&i&&r){if(t=i.nodeName,t=="BODY"||t=="HTML"||t=="#document")return;r.contentWindow.document.body.contains(i)||e(n)}};return rt(),{sg:d,ubc:ct}}(_ge,sj_ce)
|
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 12 KiB |
@ -1 +0,0 @@
|
|||||||
.b_slimFoot.b_footer{padding:0}.b_slimFoot.b_footer ul{line-height:30px}.b_slimFoot.b_footer li{display:inline-block;padding:0 15px}.b_slimFoot.b_footer a{text-decoration:none}.b_slimFoot.b_footer,.b_slimFoot.b_footer a:hover{color:#666}.b_slimFoot.b_footer .b_trademark{float:right;padding-right:20px}.b_slimFoot #b_footerItems{line-height:30px;height:auto;padding:0 20px 0 15px}.b_slimFoot #b_footerItems span,.b_slimFoot #b_footerItems a{margin:0}
|
|
@ -1 +0,0 @@
|
|||||||
(function(){var s=_ge("b_results"),n=Lib.CssClass.getElementByClassName(s,"exp_trgr"),t,f,u,i,r;if(n!==null&&n.length>0)for(t=0;t<n.length;t++)if(f=n[t].offsetHeight,u=Lib.CssClass.getElementByClassName(n[t],"ibsvc"),u!==null&&u.length>0&&(i=u[0].getElementsByTagName("a"),i.length>0))for(r=0;r<i.length;r++){var h=i[r].offsetHeight,e=Math.floor((f-h)/2),o=i[r];o.style.paddingTop=e+"px";o.style.paddingBottom=e+"px"}sj_evt.bind("MapPinHov",function(n){var t=_ge("exp_trgr_"+n[1]);t&&Lib.CssClass.toggle(t,"sa_hl")})})()
|
|
@ -1 +0,0 @@
|
|||||||
(function(){var f=_ge("b_results"),n,t,i,r,u;if(typeof Lib!="undefined"&&typeof Lib.CssClass!="undefined"&&(n=Lib.CssClass.getElementByClassName(f,"exp_trgr"),n!==null&&n.length>0))for(t=0;t<n.length;t++)if(i=n[t].getElementsByTagName("a"),i.length>0)for(r=0;r<i.length;r++)(u=i[r],u.parentElement&&u.parentElement.className.indexOf("bm_dir_overlay")>=0)||sj_be(u,"click",function(n){sj_sp(n)})})()
|
|
@ -1 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" enable-background="new 0 0 16 16"><g fill="#00809D"><path d="M2.25 0h-1.25c-.263 0-.521.107-.707.293-.186.186-.293.444-.293.707v1.25c0 .552.448 1 1 1s1-.448 1-1v-.25h.25c.552 0 1-.448 1-1s-.448-1-1-1zM1 8.75c.552 0 1-.448 1-1v-1.5c0-.552-.448-1-1-1s-1 .448-1 1v1.5c0 .552.448 1 1 1zM2.25 12h-.25v-.25c0-.552-.448-1-1-1s-1 .448-1 1v1.25c0 .263.107.521.293.707s.444.293.707.293h1.25c.552 0 1-.448 1-1s-.448-1-1-1zM11.75 2h.25v.25c0 .552.448 1 1 1s1-.448 1-1v-1.25c0-.263-.107-.521-.293-.707-.186-.186-.444-.293-.707-.293h-1.25c-.552 0-1 .448-1 1s.448 1 1 1zM6.25 2h1.5c.552 0 1-.448 1-1s-.448-1-1-1h-1.5c-.552 0-1 .448-1 1s.448 1 1 1zM14.5 7h-.5v-.75c0-.552-.448-1-1-1s-1 .448-1 1v.75h-3.5c-.828 0-1.5.671-1.5 1.5v3.5h-.75c-.552 0-1 .448-1 1s.448 1 1 1h.75v.5c0 .828.672 1.5 1.5 1.5h6c.828 0 1.5-.672 1.5-1.5v-6c0-.829-.672-1.5-1.5-1.5z"/></g><path fill="none" d="M0 0h16v16h-16z"/></svg>
|
|
Before Width: | Height: | Size: 964 B |
@ -1 +0,0 @@
|
|||||||
var SerpKeyboardNavigation;(function(){function c(){h=_d.activeElement;n=null;u=null;e=!1;t=-1;nt();u=_w.NavSelector&&NavSelector(!1)}function p(){v();n=null}function w(i){var o,e;i&&(i.keyCode==r.Tab&&s&&(f("TOP"),s=!1),o=_d.activeElement,u&&o&&o.className!=="b_searchbox"&&(i.keyCode==r.Enter?(n=null,f(t==-1?"EN":"EE",t)):b(i)&&(e=k(i.keyCode),e!==-1&&e!==t&&(tt(e),sj_pd(i)))))}function f(n,t){sj_log("CI.SerpKeyboardNav",n,t?t.toString():"")}function b(t){return n||h==_d.activeElement?t.altKey||t.ctrlKey?!1:!0:!1}function k(n){if(n===r.Tab)return d();if(n===r.Down||n===r.Up){var t=document.activeElement;return t&&(t.tagName.toLowerCase()==="select"||t.tagName.toLowerCase()==="input")?-1:g(n===r.Down)}return-1}function d(){var i=-1;return n?(v(),e=!0,t=-1,f("TO")):(i=0,f("TI")),i}function g(i){var r=-1,s,h,o;return n&&(e?(e=!1,s=u.indexOf(_d.activeElement),s!==-1?r=l(i,s):(h=_w.NavSelector&&NavSelector(!0),o=h.indexOf(_d.activeElement),o!==-1&&(r=a(i?o:o-1)))):r=l(i,t),f(i?"AD":"AU",r)),r}function l(n,t){return a(n?t+1:t-1)}function a(n){return Math.max(Math.min(n,u.length-1),0)}function nt(){i=sj_ce("div","kn_p");o=sj_ce("span",y);o.innerHTML="►";i.appendChild(o);o.title="Use the up and down arrow keys to focus results"}function tt(r){t=r;n=u[t];n&&n.parentNode&&(n.parentNode.insertBefore(i,n.parentNode.firstChild),it(i),n.setAttribute("aria-live","true"),n.focus())}function v(){i&&i.parentNode&&i.parentNode.removeChild(i)}function it(n){var t=n.getBoundingClientRect();t.bottom>window.innerHeight&&n.scrollIntoView()}var n,u,t=-1,e=!1,y="kn_a",i,o,s=!0,h,r;(function(n){n[n.Up=38]="Up";n[n.Down=40]="Down";n[n.Tab=9]="Tab";n[n.Enter=13]="Enter"})(r||(r={}));sj_be(_d,"keydown",w);sj_be(_d.body,"mousedown",p,!0);sj_evt.bind("ajax.load",c,1,1);c()})(SerpKeyboardNavigation||(SerpKeyboardNavigation={}))
|
|
@ -1,8 +0,0 @@
|
|||||||
<svg focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
|
||||||
<path fill="#919191" d="M15.707,0.293c-0.391-0.391-1.024-0.391-1.415,0L7.994,6.591L1.696,0.293C1.298-0.091,0.665-0.08,0.281,0.318
|
|
||||||
c-0.375,0.388-0.375,1.003,0,1.391l6.298,6.298l-6.298,6.298c-0.384,0.398-0.373,1.031,0.025,1.415c0.388,0.375,1.003,0.375,1.391,0
|
|
||||||
l6.298-6.298l6.298,6.298c0.398,0.384,1.031,0.373,1.415-0.025c0.375-0.388,0.375-1.003,0-1.39L9.409,8.006l6.298-6.298
|
|
||||||
C16.098,1.317,16.098,0.684,15.707,0.293z"/>
|
|
||||||
<path fill="none" d="M0,0h16v16H0V0z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 671 B |
@ -1 +0,0 @@
|
|||||||
var Orientation;(function(n){function f(n){var f=_w.innerWidth,e;i&&(e=window.matchMedia("(orientation: portrait)"),e.addListener(function(t){_w.innerWidth!=f&&(f=_w.innerWidth,n(!t.matches))}));t&&sj_be(_w,u,function(){_w.innerWidth!=f&&(f=_w.innerWidth,n(_w.innerWidth>_w.innerHeight))});i||t||r||sb_si(function(){_w.innerWidth!=f&&(f=_w.innerWidth,n(_w.innerWidth>_w.innerHeight))},1e3)}var i="matchMedia"in _w,t="onorientationchange"in _w,r="onresize"in _w,u=t?"orientationchange":"resize";n.onOrientation=f})(Orientation||(Orientation={}))
|
|
@ -1 +0,0 @@
|
|||||||
function RewardsReportActivity(n){window.sj_rra&&sj_rra(n)}(function(){RewardsReportActivity(document.URL)})()
|
|
@ -1 +0,0 @@
|
|||||||
var MultiEntityFeedback;(function(n){function t(t,i,e,o,s){var h,c,l;Log.Log("MEFInit","ReportProblem","Init",!1);h=_ge(i);h&&(c=f(h,t),c!=null&&(l="localFeedbackContainer",c.className+=" "+l,h.setAttribute("data-fbhlsel","."+l)));e?(Log.Log("MEFClickEventsTrue","ReportProblem","Init",!1),n.rapUrl=o,sj_be(_ge("multiEntityFeedbackThumbsUp"),"click",r),sj_be(_ge("multiEntityFeedbackThumbsDown"),"click",function(){u(s)})):Log.Log("MEFClickEventsFalse","ReportProblem","Init",!1);Log.Log("MEFComplete","ReportProblem","Init",!1)}function i(){var n=_ge("beforeMultiEntityFeedback"),t=_ge("afterMultiEntityFeedback");n.classList.add("hideEntry");t.classList.remove("hideEntry")}function r(){var t,r,n,u;Log.Log("MEFSubmitInit","ReportProblem","Init",!1);i();t={};t.text="User selected Thumbs Up on Multi-entity Local answer";t.type="2";r=FeedbackCommonUtils.getLocalGenericFeedbackSubmitModule();r!=undefined&&r.sendData(t,"LocalMultiEntityFeedback");n=FeedbackCommonUtils.getReportProblemClientInstModule();n!=undefined&&(u=window.parent,u.Log.Log(n.Feature.MultiFeedbackThumbsUp,n.ReportProblem,n.UserActions,!0));Log.Log("MEFSubmitComplete","ReportProblem","Init",!1)}function u(t){var i,r;Log.Log("MEFShowInit","ReportProblem","Init",!1);n.rapUrl!=null&&n.rapUrl!=""&&(r=window.parent,r.MultiFeedbackBootstrap.InitializeMultiEntityFeedback("multiEntityFeedbackNew",n.rapUrl,t));i=FeedbackCommonUtils.getReportProblemClientInstModule();i!=undefined&&(r=window.parent,r.Log.Log(i.Feature.MultiFeedbackThumbsDown,i.ReportProblem,i.UserActions,!0,i.DebugId,i.instrumentationDebugId));Log.Log("MEFShowComplete","ReportProblem","Init",!1)}function f(n,t){while(n=n.parentElement)if(n.className.indexOf(t)>-1)return n;return null}n.init=t})(MultiEntityFeedback||(MultiEntityFeedback={}))
|
|