Matlab文本字符串/HTML解析

3

我正在尝试将一个网站(HTML)中的信息导入MATLAB。我可以使用以下代码将在线的HTML导入字符串:

urlread('http://www.websiteNameHere.com...');

一旦我有了字符串,我就有了一个非常长的字符串变量,其中包含整个HTML文件的内容。从这个变量中,我正在寻找非常特定类别中的值/字符。例如,HTML/网站将有一堆行,然后将以以下形式出现感兴趣的类别:

...
<h4 class="price">
 <span class="priceSort">$39,991</span>
</h4>
<div class="mileage">
 <span class="milesSort">19,570 mi.</span>
</div>
...
<h4 class="price">
 <span class="priceSort">$49,999</span>
</h4>
<div class="mileage">
 <span class="milesSort">9,000 mi.</span>
</div>
...

我需要获取和之间的信息,即上面例子中的$39,991和$49,999。最好的方法是什么?如果标签有特定的开始和结束,并且也是相同的(例如和),那我就没有问题了...
我还需要知道最强大的方法,因为我希望能够找到和其他类似信息。谢谢!
2个回答

0
请尝试这个,然后告诉我们它是否适用于您 -
url_data = urlread('http://www.websiteNameHere.com...');

start_string = '<span class="priceSort">'; %// For your next case, edit this to <span class="milesSort">
stop_string = '</span>';

N1 = numel(start_string);
N2 = numel(stop_string);

start_string_ind = strfind(url_data,start_string);
for count1 = 1:numel(start_string_ind)
    relative_stop_string_ind = strfind(url_data(start_string_ind(count1)+N1:end),stop_string);
    string_found_start_ind = start_string_ind(count1)+N1;
    string_found = url_data(string_found_start_ind:string_found_start_ind+relative_stop_string_ind(1)-2);
    disp(string_found);
end

0

使用strsplit的简单解决方案

s = urlread('http://www.websiteNameHere.com...');

x = 'class="priceSort">'; %starting string x
y = 'class="milesSort">'; %starting string y
z = '</span>'; %ending string z

s2 = strsplit(s,x); %split for starting string x
s3 = strsplit(s,y); %split for starting string y

result1 = cell(size(s2,2)-1,1); %create cell array 1
result2 = cell(size(s3,2)-1,1); %create cell array 2

%loop through values ignoring first value
%(change ind=2:size(s2,2) to ind=1:size(s2,2) to see why)

%starting string x loop
for ind=2:size(s2,2)
    m = strsplit(s2{1,ind},z);
    result1{ind-1} = m{1,1};
end

%starting string y loop
for ind=2:size(s3,2)
    m = strsplit(s3{1,ind},z);
    result2{ind-1} = m{1,1};
end

希望这能有所帮助


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接