如何使用C#抓取html文档中JavaScript动态生成的数据?
使用WebRequest和HttpWebResponse在C#库中,我能够将整个html源代码作为字符串,但难点是我想要的数据不包含在源代码中; 数据由JavaScript动态生成.
另一方面,如果我想要的数据已经在源代码中,那么我可以使用正则表达式轻松获取它们.
我已经下载了HtmlAgilityPack,但我不知道它是否会处理由JavaScript动态生成项目的情况......
非常感谢你!
假设我有一个字符串向量列表:
["a","c","duck"]
["a","a","f"]
["蜜蜂","s","xy"]
["b","a","a"]
我想以这种方式对向量进行排序:
按字典顺序排序,相对于索引0处的元素,如果存在平局,则将根据索引1处的元素按字典顺序确定,如果存在另一个关系,则将根据索引处的元素按字典顺序确定2.
所以上面的列表在排序后将如下:
["a","a","f"]
["a","c","duck"]
["b","a","a"]
["蜜蜂","s","xy"]
如何根据上面的描述实现标准库sort()函数来编写一个方法来对向量列表进行排序?我正在使用C++.谢谢.
一旦知道了每个向量的长度,就不难写出比较函数.但是如果我不知道向量的长度怎么办(但我总是知道它们的长度相同)?比较长度为3的向量的函数:
bool CompareVector(vector<string> first, vector<string> second){
if (first[0] < second[0])
return true;
if (first[1] < second[1])
return true;
if (first[2] < second[2])
return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
因此,对于长度为n的向量,将有n个if语句.但是,如何将if语句的数量保持为变量?
这个怎么样:
bool CompareVector(vector<string> first, vector<string> second){
for (int i=0; i< first.size(); i++)
if (first[i] < second[i])
return true;
return false;
Run Code Online (Sandbox Code Playgroud)
}
然后我可以调用标准排序函数:
sort(vector<vector<string> >input.begin(), vector<vector<string> >input.end(), CompareVector() )
Run Code Online (Sandbox Code Playgroud)
这会有用吗?谢谢.