gpt4 book ai didi

c++ - 搜索 HTML 行并删除不以
转载 作者:行者123 更新时间:2023-11-28 03:52:20 25 4
gpt4 key购买 nike

我有一个 HTML 文件,其中包含我从网站获得的格式非常糟糕的代码,我想提取一些非常小的信息。

我只对这样开头的行感兴趣:

</form></td><td><a href="http://www.mysite.com/users/user897" class="username">   <b>user897</b></a></td></tr><tr><td>HouseA</td><td>2</td><td class="entriesTableRow-gamename">HouseA Type12 <span class="entriesTableRow-moredetails"></span></td><td>1 of 2</td><td>user123</td><td>10</td><td>

我想提取 3 个字段:

  A:HouseA
B:HouseA Type12
C:user123
D:10

我知道有人推荐 HTML Agility Pack 和 lib2xml,但我真的认为我不需要所有这些。我的应用程序使用 C/C++。

我已经在使用 getline 开始读取行,我只是不确定继续进行的最佳方式是什么。谢谢!

    std::ifstream  data("Home.html");
std::string line;
while(std::getline(data,line))
{
linenum++;
std::stringstream lineStream(line);
std::string user;
if (strncmp(line.c_str(), "</form></td><td>",strlen("</form></td><td>")) == 0)
{

printf("found a wanted line in line:%d\n", linenum);
}

}

最佳答案

在一般情况下,XML/HTML 解析器可能是最好的方法,因为它对不同的输入很健壮。 (无论你做什么,don't use regexps!)

更新

但是,如果您的目标是特定输入,就像您正在做的那样,您可以使用 sscanf(如您所建议的)或 cin.read() 或 regexp 手动扫描。

请注意,此代码可能会在 HTML 更改(即使只是空格)的任何时刻中断。

因此,我/我们的建议是使用合适的工具来完成这项工作。 XML/HTML 不是原始文本,不应将其视为原始文本。

改写 python 脚本怎么样? :)

关于c++ - 搜索 HTML 行并删除不以 </form></td><td><a 开头的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5035632/

25 4 0

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com