Skip to content

Commit a98aec4

Browse files
committed
Codigo Sintetizado
1 parent 77802ce commit a98aec4

7 files changed

+69
-68
lines changed

app/Http/Controllers/CrawlerMarvelController.php

+34-33
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ function detailOption($id, $option)
4141
$response = json_decode($response->getBody(), true);
4242
$page_data['copyright'] = $response['copyright'];
4343
$page_data['attributionText'] = $response['attributionText'];
44+
$page_data['option'] = $option;
4445
$multiDatas = $response['data']['results'][0];
4546
$page_data['comic'] = $multiDatas;
4647
if (isset($multiDatas['series'])) {
@@ -57,62 +58,62 @@ public function comicsCrawler()
5758
$response = $client->request('GET', 'https://www.marvel.com/comics?&options%5Boffset%5D=0&totalcount=12');
5859
$response = $response->getBody()->getContents();
5960

60-
$teste = Str::after($response, '<section class="module JMMultiRow moduColor_Light no-stripes" id="onsale">');
61-
$exibe1 = Str::before($teste, 'footer');
62-
$keywords = preg_split('/\s+v|<div class="row-item comic-item">\s+/i', $exibe1);
63-
$totalColetado = 0;
64-
$tituloGeral = array();
61+
$pageStart = Str::after($response, '<section class="module JMMultiRow moduColor_Light no-stripes" id="onsale">');
62+
$closePage = Str::before($pageStart, 'footer');
63+
$keywords = preg_split('/\s+v|<div class="row-item comic-item">\s+/i', $closePage);
64+
$totalCollected = 0;
65+
$generalTitle = array();
6566
foreach ($keywords as $k => $v) {
6667
if (Str::contains($keywords[$k], '<h2 class="module-header">')) {
6768
$idTituloGeral = $k;
68-
$limpaTituloGeral1 = Str::after($keywords[$k], '<h2 class="module-header">');
69-
$limpaTituloGeral11 = Str::before($limpaTituloGeral1, '<');
70-
$tituloGeral[$k]['titulogeral'] = trim($limpaTituloGeral11);
71-
$tituloGeral[$k]['id'] = [];
72-
$tituloGeral[$k]['url'] = [];
73-
$tituloGeral[$k]['title'] = [];
74-
$tituloGeral[$k]['imagem'] = [];
75-
$tituloGeral[$k]['criadores'] = [];
69+
$startGeneralTitle = Str::after($keywords[$k], '<h2 class="module-header">');
70+
$closeGeneralTitle = Str::before($startGeneralTitle, '<');
71+
$generalTitle[$k]['generalTitle'] = trim($closeGeneralTitle);
72+
$generalTitle[$k]['id'] = [];
73+
$generalTitle[$k]['url'] = [];
74+
$generalTitle[$k]['title'] = [];
75+
$generalTitle[$k]['image'] = [];
76+
$generalTitle[$k]['creators'] = [];
7677

7778
foreach ($keywords as $k => $v) {
7879
if (Str::contains($keywords[$k], '<div class="row-item-image">')) {
79-
$limpaTituloComic1 = Str::after($keywords[$k], '<a href=" //');
80-
$limpaTituloComic2 = Str::before($limpaTituloComic1, '" class="');
81-
array_push($tituloGeral[$idTituloGeral]['url'], trim('https://' . $limpaTituloComic2));
82-
$totalColetado += 1;
80+
$startTitleComic = Str::after($keywords[$k], '<a href=" //');
81+
$closeTitleComic = Str::before($startTitleComic, '" class="');
82+
array_push($generalTitle[$idTituloGeral]['url'], trim('https://' . $closeTitleComic));
83+
$totalCollected += 1;
8384

8485

85-
$limpaTituloId1 = Str::after($limpaTituloComic2, '/issue/');
86-
$limpaTituloId2 = Str::before($limpaTituloId1, '/');
87-
array_push($tituloGeral[$idTituloGeral]['id'], trim($limpaTituloId2));
86+
$startTitleId = Str::after($closeTitleComic, '/issue/');
87+
$closeTitleId = Str::before($startTitleId, '/');
88+
array_push($generalTitle[$idTituloGeral]['id'], trim($closeTitleId));
8889

8990
if (Str::contains($keywords[$k], '<p class="meta-creators">')) {
90-
$limpaCreatorsComic1 = Str::after($keywords[$k], '<p class="meta-creators">');
91-
$limpaCreatorsComic2 = Str::before($limpaCreatorsComic1, '</p>');
92-
array_push($tituloGeral[$idTituloGeral]['criadores'], trim($limpaCreatorsComic2));
91+
$startCreatorsComic = Str::after($keywords[$k], '<p class="meta-creators">');
92+
$closeCreatorsComic = Str::before($startCreatorsComic, '</p>');
93+
array_push($generalTitle[$idTituloGeral]['creators'], trim($closeCreatorsComic));
9394
} else {
94-
array_push($tituloGeral[$idTituloGeral]['criadores'], 'Author Not Informed by Marvel');
95+
array_push($generalTitle[$idTituloGeral]['creators'], 'Author Not Informed by Marvel');
9596
}
9697

9798
if (Str::contains($keywords[$k], '<img src="https')) {
98-
$limpaImagemComic1 = Str::after($keywords[$k], '<img src="');
99-
$limpaImagemComic2 = Str::before($limpaImagemComic1, '" alt="');
100-
array_push($tituloGeral[$idTituloGeral]['imagem'], trim($limpaImagemComic2));
99+
$startImageComic = Str::after($keywords[$k], '<img src="');
100+
$closeImageComic = Str::before($startImageComic, '" alt="');
101+
array_push($generalTitle[$idTituloGeral]['image'], trim($closeImageComic));
101102
} else {
102-
array_push($tituloGeral[$idTituloGeral]['imagem'], 'Problema com Imagem - Comics');
103+
array_push($generalTitle[$idTituloGeral]['image'], 'Problem with Image - Comics');
103104
}
104105

105106
if (Str::contains($keywords[$k], '" alt="')) {
106-
$limpaTitleComic1 = Str::after($keywords[$k], '" alt="');
107-
$limpaTitleComic2 = Str::before($limpaTitleComic1, '" title="');
108-
array_push($tituloGeral[$idTituloGeral]['title'], trim($limpaTitleComic2));
107+
$startTitleComic = Str::after($keywords[$k], '" alt="');
108+
$closeTitleComic = Str::before($startTitleComic, '" title="');
109+
array_push($generalTitle[$idTituloGeral]['title'], trim($closeTitleComic));
109110
} else {
110-
array_push($tituloGeral[$idTituloGeral]['title'], 'Problema com Título - Comics');
111+
array_push($generalTitle[$idTituloGeral]['title'], 'Problema com Título - Comics');
111112
}
112113
}
113114
}
114115
}
115116
}
116-
return view('comicsCrawler', compact('tituloGeral', 'totalColetado'));
117+
return view('comicsCrawler', compact('generalTitle', 'totalCollected'));
117118
}
118119
}

resources/views/comicsCrawler.blade.php

+14-14
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,36 @@
33
<div class="container">
44
<div class="row justify-content-center">
55
<div class="card">
6-
<div class="total-coletado">Exibindo um total de: {{$totalColetado}}</div>
7-
@foreach($tituloGeral as $k => $v)
6+
<div class="total-coletado">Displaying a total of: {{$totalCollected}}</div>
7+
@foreach($generalTitle as $key => $v)
88
<div class="card-header">
99
<h2>
10-
{{$tituloGeral[$k]['titulogeral']}}
10+
{{$generalTitle[$key]['generalTitle']}}
1111
</h2>
12-
<p>Nesta seção temos um total de {{count($tituloGeral[$k]['url'])}} Revistas</p>
12+
<p>In this section we have a total of {{count($generalTitle[$key]['url'])}} Magazines</p>
1313
</div>
1414
<br/>
1515
<TABLE BORDER=0 class="table-comics">
16-
@for ($i = 0; $i < count($tituloGeral[$k]['url']); $i++)
16+
@for ($i = 0; $i < count($generalTitle[$key]['url']); $i++)
1717
<TR>
1818
<TD>
19-
<a href="{!! '/detailOption/'.$tituloGeral[$k]['id'][$i].'/'.'comics' !!}">
19+
<a href="{!! '/detailOption/'.$generalTitle[$key]['id'][$i].'/'.'comics' !!}">
2020
<img
21-
src="{!! asset($tituloGeral[$k]['imagem'][$i]) !!}" width="130px"
21+
src="{!! asset($generalTitle[$key]['image'][$i]) !!}" width="130px"
2222
height="200px">
2323
</a>
2424
</TD>
2525
<TD>
2626
<div class="comics">
2727
<br />
2828
<p><span>{{ $i }}</span></p>
29-
<p><span>Titulo:</span> {{ $tituloGeral[$k]['title'][$i] }}</p>
30-
<p><span>Imagem:</span> {{ $tituloGeral[$k]['imagem'][$i] }}</p>
31-
<p><span>URL: </span><span class="url">{{ $tituloGeral[$k]['url'][$i] }}</span></p>
32-
<p><span>Criador:</span> {!! $tituloGeral[$k]['criadores'][$i] !!}</p>
33-
<p><span>Detalhe Específico:</span>
34-
<a href="{!! '/detailOption/'.$tituloGeral[$k]['id'][$i].'/'.'comics' !!}">
35-
Clique Aqui
29+
<p><span>Title:</span> {{ $generalTitle[$key]['title'][$i] }}</p>
30+
<p><span>Image:</span> {{ $generalTitle[$key]['image'][$i] }}</p>
31+
<p><span>URL: </span><span class="url">{{ $generalTitle[$key]['url'][$i] }}</span></p>
32+
<p><span>Creators:</span> {!! $generalTitle[$key]['creators'][$i] !!}</p>
33+
<p><span>Details:</span>
34+
<a href="{!! '/detailOption/'.$generalTitle[$key]['id'][$i].'/'.'comics' !!}">
35+
Click Here
3636
<a/>
3737

3838
</p>

resources/views/detailApi.blade.php

+9-3
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@
77
<h2>
88
{{ $attributionText }}
99
</h2>
10-
{{ $copyright }}
10+
{{ $copyright }} - {{ $option }}
1111
</div>
1212
<div class="results">
1313
<article>
14+
@if(isset($comic['thumbnail']))
1415
<img src="{{ $comic['thumbnail']['path'] }}/portrait_fantastic.jpg"
1516
alt="{{ $comic['title'] ?? $comic['name']}}">
17+
@else
18+
<p>Does Not Exist Image</p>
19+
<p>Does Not Exist Image</p>
20+
<p>Does Not Exist Image</p>
21+
@endif
1622

1723
<h2>{{ $comic['title'] ?? $comic['name'] }}</h2>
1824
<p>
@@ -23,7 +29,7 @@
2329

2430
<div id="series">series
2531
<h2>{{ $series['title'] ?? ''}}</h2>
26-
<p>
32+
Description<p>
2733
{!! $series['description'] ?? 'Does not exist' !!}
2834
</p>
2935
<div id="series">
@@ -73,7 +79,7 @@
7379
</div>
7480
</div>
7581
@else
76-
<div id="startYear">series
82+
<div id="comic">series
7783
<h2>{{ $comic['title'] ?? ''}}</h2>
7884
Description<p>
7985
{!! $comic['description'] ?? 'Does not exist' !!}

resources/views/generalApi.blade.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@
3030
<TD>
3131
<div class="comics">
3232
<br/>
33-
<p><span>Titulo:</span> {{ $multiData['title'] ?? $multiData['name'] }}</p>
33+
<p><span>Title:</span> {{ $multiData['title'] ?? $multiData['name'] }}</p>
3434
@if($multiData['description'] != null)
35-
<p><span>Descrição:</span> {{ Str::limit($multiData['description'], 160) }}</p>
35+
<p><span>Description:</span> {{ Str::limit($multiData['description'], 160) }}</p>
3636
@else
37-
<p><span>Descrição: Não Possui</span>
37+
<p><span>Description: Does Not Existe</span>
3838
@endif
39-
<p><span>Detalhe Específico:</span>
39+
<p><span>Details:</span>
4040
<a href=" {!! '/detailOption/'.$multiData['id'].'/'.$option !!} ">
41-
Clique Aqui
41+
Click Here
4242
</a>
4343
</p>
4444
</div>

resources/views/home.blade.php

+1-7
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,10 @@
55
<div class="row justify-content-center">
66
<div class="col-md-8">
77
<div class="card">
8-
<div class="card-header">Dashboard</div>
8+
<div class="card-header">Pensando</div>
99

1010
<div class="card-body">
11-
@if (session('status'))
12-
<div class="alert alert-success" role="alert">
13-
{{ session('status') }}
14-
</div>
15-
@endif
1611

17-
You are logged in!
1812
</div>
1913
</div>
2014
</div>

resources/views/layouts/app.blade.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
2626
<div class="container">
2727
<a class="navbar-brand" href="{{ url('/') }}">
28-
Principal =>
28+
Main =>
2929
</a>
3030
{{-- <div class="navbar-brand links">--}}
3131

@@ -49,16 +49,16 @@
4949
<a href="{{ asset('/multiOption/comics') }}">Comics/API </a>
5050
</li>
5151
<li class="nav-item">
52-
<a href="{{ asset('/multiOption/characters') }}">Personagens </a>
52+
<a href="{{ asset('/multiOption/characters') }}">Characters </a>
5353
</li>
5454
<li class="nav-item">
55-
<a href="{{ asset('multiOption/events') }}">Eventos </a>
55+
<a href="{{ asset('multiOption/events') }}">Events </a>
5656
</li>
5757
<li class="nav-item">
58-
<a href="{{ asset('multiOption/series') }}">Séries </a>
58+
<a href="{{ asset('multiOption/series') }}">Series </a>
5959
</li>
6060
<li class="nav-item">
61-
<a href="{{ asset('multiOption/stories') }}">Histórias </a>
61+
<a href="{{ asset('multiOption/stories') }}">Stories </a>
6262
</li>
6363
<li class="nav-item">
6464
<a href="{{ asset('comicsCrawler') }}">Comics/Crawler </a>

resources/views/welcome.blade.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<br/>
77
<p>Crawler in Marvel by Laravel</p>
88
&
9-
<p>Consumo de API Marvel by Laravel</p>
9+
<p>API consumption Marvel by Laravel</p>
1010
</div>
1111
<p>By Possebon</p>
1212
<p>dompossebon@gmail.com</p>

0 commit comments

Comments
 (0)