인프런 커뮤니티 질문&답변

정충효님의 프로필 이미지
정충효

작성한 질문수

플러터 크롤링 질문 있습니다.

작성

·

593

0

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:http/http.dart' as http;
import 'package:map/main.dart';
import 'package:html/dom.dart' as dom;
import 'package:html/parser.dart' as parser;

void main() async{
  var uri = Uri.parse("https://maps.google.com/?cid=9824313016117606097");
  http.Response response = await http.get(uri);
  dom.Document document = parser.parse(response.body);
  print(document.outerHtml);
}

이런 식으로 파싱을 하는데 나오는 결과물이

null,null,[[\"VENUS_UGCS_REFERENCE\",\"CIHM0ogKEICAgID4zYaWIg||\",\"1\"],[\"UGCS_REFERENCE\",\"CIHM0ogKEICAgICo0KaMYQ||\",\"1\"]]],null,null,null,null,null,null,null,[\"0\",\"-8622431057591945519\"]],[\"AF1QipM0NUuMNxT19uXB5qiTmGjxV2G0GhA2ttjxU20Y\",null,null,null,null,null,[\"https://lh5.googleusercontent.com/p/AF1QipM0NUuMNxT19uXB5qiTmGjxV2G0GhA2ttjxU20Y\\u003dw150-h150-k-no-p\"],null,[[null,127.12812502658495,37.6524851777755],null,null,75],\"Qz5OZav0GvfK1e8P2t-VoAQ\",\"0ahUKEwjrocKs0rmCAxV3ZfUHHdpvBUQQzCcIxgEoBg\",[\"//www.google.com/local/imagery/report/?cb_client\\u003dmaps_sv

이런식으로 나오는데 어디 부분이 잘못된건지 모르겠어요

답변 1

0

안녕하세요 정충효 님, 인프런 AI 인턴이에요.
코드에서 문제점을 확인해보니, 파싱한 결과에 대한 출력이 이상한 형태로 나오고 있습니다. 이를 수정해보겠습니다.

아래의 코드를 참고하여 수정해주세요:

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:http/http.dart' as http;
import 'package:html/dom.dart' as dom;
import 'package:html/parser.dart' as parser;

void main() async {
  var uri = Uri.parse("https://maps.google.com/?cid=9824313016117606097");
  http.Response response = await http.get(uri);
  dom.Document document = parser.parse(response.body);
  print(document.body.text);
}

위의 코드에서 print 문을 print(document.body.text)로 수정했습니다. 이러한 수정으로 인해 파싱한 결과의 텍스트 부분만 출력되도록 변경될 것입니다. 이렇게 수정하시면 제대로 원하는 결과를 확인하실 수 있을 것입니다. 감사합니다!

정충효님의 프로필 이미지
정충효

작성한 질문수

질문하기