Skip to content

Commit 77802ce

Browse files
committed
Codigo Sintetizado
1 parent 7991890 commit 77802ce

16 files changed

+167
-769
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,21 @@
11
<?php
2-
32
namespace App\Http\Controllers;
43

54
use GuzzleHttp\Client;
65
use Illuminate\Support\Str;
76

8-
97
class CrawlerMarvelController extends Controller
108
{
119
//
1210
private $client;
1311

1412
public function __construct()
1513
{
16-
1714
$baseUrl = 'http://gateway.marvel.com/v1/public/';
18-
1915
$public_key = '1747ef87891d75e5ff61d9f6d2fadcd7';
20-
2116
$private_key = '3e49f306668367a1ee7ac0231b0009c3a69a2a19';
22-
2317
$ts = time();
2418
$hash = md5($ts . $private_key . $public_key);
25-
2619
$this->client = new Client([
2720
'base_uri' => $baseUrl,
2821
'query' => [
@@ -31,171 +24,31 @@ public function __construct()
3124
'hash' => $hash
3225
]
3326
]);
34-
3527
}
3628

3729
public function multiOption($option)
3830
{
3931
$response = $this->client->get($option);
40-
4132
$response = json_decode($response->getBody(), true);
4233
$multiDatas = $response['data']['results'];
43-
return view('generalApi', ['multiDatas' => $multiDatas]);
44-
}
45-
46-
47-
48-
49-
public function comicsApi()
50-
{
51-
$response = $this->client->get('comics');
52-
53-
$response = json_decode($response->getBody(), true);
54-
55-
$comics = $response['data']['results'];
56-
57-
return view('comicsApi', ['comics' => $comics]);
58-
59-
}
60-
61-
function comicApi($id)
62-
{
63-
$page_data = [];
64-
65-
$response = $this->client->get('comics/' . $id);
66-
$response = json_decode($response->getBody(), true);
67-
$page_data['copyright'] = $response['copyright'];
68-
$page_data['attributionText'] = $response['attributionText'];
69-
$comic = $response['data']['results'][0];
70-
$page_data['comic'] = $comic;
71-
72-
if (!empty($comic['series'])) {
73-
$series_response = $this->client->get($comic['series']['resourceURI']);
74-
$series_response = json_decode($series_response->getBody(), true);
75-
$page_data['series'] = $series_response['data']['results'][0];
76-
}
77-
return view('comic', $page_data);
78-
}
79-
80-
public function charactersApi()
81-
{
82-
$response = $this->client->get('characters');
83-
84-
$response = json_decode($response->getBody(), true);
85-
86-
$characters = $response['data']['results'];
87-
88-
return view('charactersApi', ['characters' => $characters]);
89-
90-
}
91-
92-
function characterApi($id)
93-
{
94-
$page_data = [];
95-
96-
$response = $this->client->get('characters/' . $id);
97-
$response = json_decode($response->getBody(), true);
98-
$page_data['copyright'] = $response['copyright'];
99-
$page_data['attributionText'] = $response['attributionText'];
100-
$characters = $response['data']['results'][0];
101-
$page_data['characters'] = $characters;
102-
if (!empty($characters['series'])) {
103-
$series_response = $this->client->get($characters['series']['collectionURI']);
104-
$series_response = json_decode($series_response->getBody(), true);
105-
$page_data['series'] = $series_response['data']['results'][0];
106-
}
107-
108-
return view('character', $page_data);
34+
return view('generalApi', ['multiDatas' => $multiDatas, 'option' => $option]);
10935
}
11036

111-
112-
113-
114-
public function eventsApi()
115-
{
116-
$response = $this->client->get('events');
117-
118-
$response = json_decode($response->getBody(), true);
119-
$events = $response['data']['results'];
120-
return view('eventsApi', ['events' => $events]);
121-
}
122-
123-
function eventApi($id)
37+
function detailOption($id, $option)
12438
{
12539
$page_data = [];
126-
127-
$response = $this->client->get('events/' . $id);
40+
$response = $this->client->get($option . '/' . $id);
12841
$response = json_decode($response->getBody(), true);
12942
$page_data['copyright'] = $response['copyright'];
13043
$page_data['attributionText'] = $response['attributionText'];
131-
$events = $response['data']['results'][0];
132-
$page_data['events'] = $events;
133-
134-
if (!empty($events['series'])) {
135-
$series_response = $this->client->get($events['series']['collectionURI']);
44+
$multiDatas = $response['data']['results'][0];
45+
$page_data['comic'] = $multiDatas;
46+
if (isset($multiDatas['series'])) {
47+
$series_response = $this->client->get($multiDatas['series']['resourceURI'] ?? $multiDatas['series']['collectionURI']);
13648
$series_response = json_decode($series_response->getBody(), true);
13749
$page_data['series'] = $series_response['data']['results'][0];
13850
}
139-
140-
return view('event', $page_data);
141-
}
142-
143-
public function seriesApi()
144-
{
145-
$response = $this->client->get('series');
146-
147-
$response = json_decode($response->getBody(), true);
148-
$series = $response['data']['results'];
149-
return view('seriesApi', ['series' => $series]);
150-
}
151-
152-
function serieApi($id)
153-
{
154-
$page_data = [];
155-
156-
$response = $this->client->get('series/' . $id);
157-
$response = json_decode($response->getBody(), true);
158-
$page_data['copyright'] = $response['copyright'];
159-
$page_data['attributionText'] = $response['attributionText'];
160-
$series = $response['data']['results'][0];
161-
$page_data['series'] = $series;
162-
163-
if (!empty($series['series'])) {
164-
$series_response = $this->client->get($series['series']['collectionURI']);
165-
$series_response = json_decode($series_response->getBody(), true);
166-
$page_data['series'] = $series_response['data']['results'][0];
167-
}
168-
169-
return view('serie', $page_data);
170-
}
171-
172-
public function storiesApi()
173-
{
174-
$response = $this->client->get('stories');
175-
176-
$response = json_decode($response->getBody(), true);
177-
$stories = $response['data']['results'];
178-
return view('storiesApi', ['stories' => $stories]);
179-
}
180-
181-
function storieApi($id)
182-
{
183-
$page_data = [];
184-
185-
$response = $this->client->get('stories/' . $id);
186-
$response = json_decode($response->getBody(), true);
187-
$page_data['copyright'] = $response['copyright'];
188-
$page_data['attributionText'] = $response['attributionText'];
189-
$series = $response['data']['results'][0];
190-
$page_data['series'] = $series;
191-
192-
if (!empty($series['series'])) {
193-
$series_response = $this->client->get($series['series']['collectionURI']);
194-
$series_response = json_decode($series_response->getBody(), true);
195-
$page_data['series'] = $series_response['data']['results'][0];
196-
}
197-
198-
return view('serie', $page_data);
51+
return view('detailApi', $page_data);
19952
}
20053

20154
public function comicsCrawler()
@@ -210,7 +63,6 @@ public function comicsCrawler()
21063
$totalColetado = 0;
21164
$tituloGeral = array();
21265
foreach ($keywords as $k => $v) {
213-
21466
if (Str::contains($keywords[$k], '<h2 class="module-header">')) {
21567
$idTituloGeral = $k;
21668
$limpaTituloGeral1 = Str::after($keywords[$k], '<h2 class="module-header">');
@@ -223,7 +75,6 @@ public function comicsCrawler()
22375
$tituloGeral[$k]['criadores'] = [];
22476

22577
foreach ($keywords as $k => $v) {
226-
22778
if (Str::contains($keywords[$k], '<div class="row-item-image">')) {
22879
$limpaTituloComic1 = Str::after($keywords[$k], '<a href=" //');
22980
$limpaTituloComic2 = Str::before($limpaTituloComic1, '" class="');
@@ -264,6 +115,4 @@ public function comicsCrawler()
264115
}
265116
return view('comicsCrawler', compact('tituloGeral', 'totalColetado'));
266117
}
267-
268-
269118
}

resources/views/character.blade.php

-80
This file was deleted.

resources/views/charactersApi.blade.php

-44
This file was deleted.

0 commit comments

Comments
 (0)