Mohamad Bdeir
Mohamad Bdeir

Reputation: 15

Flutter google images scraping is low resolution

I cant use the google image search api so I have to scrape google images instead. But when I scrape it the image quality is very bad.

Future<List<String>> fetchGoogleImages(String query) async {
  final url = Uri.parse('https://www.google.com/search?tbm=isch&q=$query');

  final response = await http.get(url, headers: {
    'User-Agent':
        'Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15A372 Safari/604.1'
  });

  if (response.statusCode == 200) {
    var document = parser.parse(response.body);

    var imageElements = document.getElementsByTagName('img');

    List<String> imageUrls = [];
    for (var element in imageElements) {
      var src = element.attributes['src'];
      if (src != null && src.startsWith('http')) {
        imageUrls.add(src);
      }
    }

    return imageUrls;
  } else {
    throw Exception('Failed to load images');
  }
}

Upvotes: 0

Views: 26

Answers (0)

Related Questions