18910140161

HTML-Web抓取提供不同的响应-堆栈溢出

顺晟科技

2022-10-18 12:06:57

115

我有这个DART代码,但每次运行它

都会给出不同的输出。复制的

步骤将两个文件添加到同一目录快跑

飞镖酒吧

飞镖代码。飞镖

它将创建十个具有不同内容

的文件

创建名为code.dart

的文件
<代码>导入";镖:IO";导入' dart:convert ';将' package:HTTP/HTTP.dart '导入为HTTP;import ' package:HTML/parser.dart ';未来<;字符串>;Scraplyrics(字符串歌词)异步{最终响应=await HTTP.get(URI.parse(lyricsurl));Var document=parse(response.body);return document.getElementsByClassName('歌词')[0].text;}主()异步{字符串LY;  对于(int I=1;我<;=10;我++){打印(";请求编号$I";);尝试{LY=等待Scraplyrics(“ https://www.genius.com/the-chainsmokers-closer-lyrics” ");}渔获量{ly=e.ToString();}文件file=文件(";文件$I.txt";);等待文件.WriteAsString(";$ly";);  LY=";";}}

创建文件pubspec.yaml

import "dart:io";
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:html/parser.dart';


Future<String> scrapLyrics(String lyricsUrl) async {
  final response = await http.get(Uri.parse(lyricsUrl));
  var document = parse(response.body);

  return document.getElementsByClassName('lyrics')[0].text;
}

main() async {
    String ly;
  
  for (int i = 1; i <=10; i++) {
    print("Request number $i");
  try{
     ly= await scrapLyrics("https://www.genius.com/The-chainsmokers-closer-lyrics");
  }
  catch(e){
    ly=e.toString();
  }
    File file = File("file$i.txt");
    await file.writeAsString("$ly");
  
    ly="";
  }
}

获得的输出(在某些情况下):RangeError(index):无效值:有效值范围为空:0


顺晟科技:

您要查找

的类名是name: my_app environment: sdk: '>=2.10.0 <3.0.0' dependencies: http: ^0.13.3 html: ^0.15.0 "Lyrics__Container-sc-1ynbvzw-8"

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航