веб ползет в python до дротика; re, bs4 в библиотеку http & parser в dart - PullRequest
0 голосов
/ 04 марта 2020

Я хотел бы узнать, правильный ли мой синтаксис Dart. Я пытаюсь сканировать три числа на веб-сайте, и это то, что я получаю при разборе. html

<!-- corona  virus number--> <div class="co_cur"> 
<p class="tit">corona virus number<a href="/bdBoardList.do"> </a></p> 
<ul> <li><span class="tit">Corona number</span><a class="num" href="/bdBoardList.do">5,328</a></li> 
<li><span class="tit">Recovered number</span><a class="num" href="/bdBoardList.do">41</a></li>
<li><span class="tit">Death number</span><a class="num" href="/bdBoardList.do">32</a></li> </ul> 

Это мой python код

html = requests.get("http://ncov.mohw.go.kr/index_main.jsp")
soup = BeautifulSoup(html.text, "html.parser") 
data = soup.select("div.co_cur > ul > li > a.num") ##go to here
regex = re.compile(r"\d[,\d]+") ##reg
cc = regex.search(data[0].text).group() #5328
recovered = regex.search(data[1].text).group() #41
dead = regex.search(data[2].text).group() #32

Это мой код дротика. Поскольку я новичок в дартс, я следовал thisblog и dartdocument , но не уверен, что это правильно. Особенно если правильно использовать Элемент и групповой синтаксис.

import 'dart:convert'; 
import 'package:http/http.dart';
import 'package:html/parser.dart';
import 'package:html/dom.dart';

Future initiate(BaseClient client) async { 
    // Make API call to site 
    Response response = await client.get('http://ncov.mohw.go.kr/index_main.jsp'); 

    if (response.statusCode != 200) return response.body; 

    // Use html parser 
    var document = parse(response.body); 
    List<dom.Element> num = document.querySelectorAll("div.co_cur > ul > li > a.num"); 
    //do i use dom.Element or just Element?

    regex = RegExp(r"\d[,\d]+");
    match = regexp.allMatches(num);
    ncorona = match.group(0);  //is this syntax is correct?
    nrecovered = match.group(1);
    ndeath = match.group(2);

    return ncorona, nrecovered, ndeath
...