dmitry-ivanov / laravel-wikipedia-grabber Goto Github PK
View Code? Open in Web Editor NEWWikipedia/MediaWiki Grabber for Laravel.
License: MIT License
Wikipedia/MediaWiki Grabber for Laravel.
License: MIT License
Yep, Wikipedia returns wrong main image for some pages.
https://en.wikipedia.org/w/api.php?action=help&modules=query+pageimages
Examples:
pls add laravel 5.8
Wikipedia video files are mostly webm
and ogg
.
Unfortunately, those types are not supported by Safari and Internet Explorer for now:
https://www.w3schools.com/htmL/html5_video.asp
So, you will see video poster, play button, but you can't make the video play.
PS: It works fine in Google Chrome and Firefox.
Sometimes, under a certain conditions, a text of the section can go over the floating images in Chrome and Safari browsers. And it works fine in Firefox.
Opened a bug for this case:
https://bugs.chromium.org/p/chromium/issues/detail?id=861540
do you add parsing https://wikitravel.org ?
Hi. I get this error when i run the page that includes wiki-grabber.
GuzzleHttp\Exception\RequestException thrown with message "cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
It seems to be a SSL issue. How can i disable SSL and test the package locally?
Or is there something wrong with my code?
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Wikipedia;
class pagesController extends Controller
{
//
public function index() {
echo (new Wikipedia)->page('Donald Trump');
}
}
Here is the full log
Stacktrace:
#71 GuzzleHttp\Exception\RequestException in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:186
#70 GuzzleHttp\Handler\CurlFactory:createRejection in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:149
#69 GuzzleHttp\Handler\CurlFactory:finishError in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:102
#68 GuzzleHttp\Handler\CurlFactory:finish in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\CurlHandler.php:43
#67 GuzzleHttp\Handler\CurlHandler:__invoke in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php:28
#66 GuzzleHttp\Handler\Proxy:GuzzleHttp\Handler\{closure} in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Handler\Proxy.php:51
#65 GuzzleHttp\Handler\Proxy:GuzzleHttp\Handler\{closure} in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\PrepareBodyMiddleware.php:37
#64 GuzzleHttp\PrepareBodyMiddleware:__invoke in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Middleware.php:30
#63 GuzzleHttp\Middleware:GuzzleHttp\{closure} in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\RedirectMiddleware.php:70
#62 GuzzleHttp\RedirectMiddleware:__invoke in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Middleware.php:60
#61 GuzzleHttp\Middleware:GuzzleHttp\{closure} in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\HandlerStack.php:67
#60 GuzzleHttp\HandlerStack:__invoke in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Client.php:277
#59 GuzzleHttp\Client:transfer in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Client.php:125
#58 GuzzleHttp\Client:requestAsync in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Client.php:131
#57 GuzzleHttp\Client:request in C:\Users\Sam\base\vendor\guzzlehttp\guzzle\src\Client.php:89
#56 GuzzleHttp\Client:__call in C:\Users\Sam\base\vendor\illuminated\wikipedia-grabber\src\Grabber\Entity.php:43
#55 Illuminated\Wikipedia\Grabber\Entity:request in C:\Users\Sam\base\vendor\illuminated\wikipedia-grabber\src\Grabber\Page.php:11
#54 Illuminated\Wikipedia\Grabber\Page:grab in C:\Users\Sam\base\vendor\illuminated\wikipedia-grabber\src\Grabber\Entity.php:25
#53 Illuminated\Wikipedia\Grabber\Entity:__construct in C:\Users\Sam\base\vendor\illuminated\wikipedia-grabber\src\Grabber.php:31
#52 Illuminated\Wikipedia\Grabber:page in C:\Users\Sam\base\app\Http\Controllers\pagesController.php:15
#51 App\Http\Controllers\pagesController:index in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54
#50 call_user_func_array in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54
#49 Illuminate\Routing\Controller:callAction in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php:45
#48 Illuminate\Routing\ControllerDispatcher:dispatch in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Route.php:212
#47 Illuminate\Routing\Route:runController in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Route.php:169
#46 Illuminate\Routing\Route:run in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Router.php:679
#45 Illuminate\Routing\Router:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30
#44 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php:41
#43 Illuminate\Routing\Middleware\SubstituteBindings:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#42 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#41 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php:75
#40 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#39 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#38 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php:49
#37 Illuminate\View\Middleware\ShareErrorsFromSession:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#36 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#35 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php:63
#34 Illuminate\Session\Middleware\StartSession:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#33 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#32 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php:37
#31 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#30 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#29 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php:66
#28 Illuminate\Cookie\Middleware\EncryptCookies:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#27 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#26 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104
#25 Illuminate\Pipeline\Pipeline:then in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Router.php:681
#24 Illuminate\Routing\Router:runRouteWithinStack in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Router.php:656
#23 Illuminate\Routing\Router:runRoute in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Router.php:622
#22 Illuminate\Routing\Router:dispatchToRoute in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Router.php:611
#21 Illuminate\Routing\Router:dispatch in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:176
#20 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30
#19 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\fideloper\proxy\src\TrustProxies.php:57
#18 Fideloper\Proxy\TrustProxies:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#17 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#16 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31
#15 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#14 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#13 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:31
#12 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#11 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#10 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php:27
#9 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#8 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#7 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php:62
#6 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:151
#5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53
#4 Illuminate\Routing\Pipeline:Illuminate\Routing\{closure} in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:104
#3 Illuminate\Pipeline\Pipeline:then in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:151
#2 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in C:\Users\Sam\base\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:116
#1 Illuminate\Foundation\Http\Kernel:handle in C:\Users\Sam\base\public\index.php:55
#0 require_once in C:\Users\Sam\base\server.php:21
echo (new MediaWiki('http://wikitravel.org/wiki/en/api.php')) ->page('Samara')->bootstrap();
ErrorException : Undefined index: extract
at /home/vagrant/code/vendor/illuminated/wikipedia-grabber/src/Grabber/EntitySingular.php:129
125| }
126|
127| $isPreview = !empty($this->response['iwg_preview']);
128|
129| $this->parser = new Parser($this->getTitle(), $this->response['extract'], $imagesResponseData, $isPreview);
130| }
131|
132| return $this->parser;
133| }
Exception trace:
1 Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Undefined index: extract", "/home/vagrant/code/vendor/illuminated/wikipedia-grabber/src/Grabber/EntitySingular.php", [])
/home/vagrant/code/vendor/illuminated/wikipedia-grabber/src/Grabber/EntitySingular.php:129
2 Illuminated\Wikipedia\Grabber\EntitySingular::getParser()
/home/vagrant/code/vendor/illuminated/wikipedia-grabber/src/Grabber/EntitySingular.php:88
I want to get tables so I can parse them.
On this page for example
https://en.wikipedia.org/wiki/2019_Australian_Open#Day-by-day_summaries
In the Day-by-day-summaries
The tables contain the "matches" are not fetched at all.
Is this a limitation of the api or is this library somehow ignoring tables?
If the latter, how can I modify it so that tables are retrieved?
Thanks!
i got error when i call api media wiki
"error" => array:3 [โผ
"code" => "readapidenied"
"info" => "You need read permission to use this module"
"docref" => "See http://accpedia.acc.co.id/glossary/api.php for API usage"
]
Please how to fix ..
Thank youu ..
Hi,
Wikipedia offers the possibility to get a random page
https://en.wikipedia.org/w/api.php?action=query&list=random&format=json&rnnamespace=0&rnlimit=10
Do you have any plans to add this feature?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.