Открыть с правильным форматом файла и пути
Как мне прочитать мой файл с инкрементным файлом.htm с правильным форматом и путем к файлу?
path:DATA\WEBPAGE_SOURCE\train75_phish_data\1.htm
file:1.htm,2.htm,3.htm....etc
Внутри 1.htm,2.htm,3.htm.... и т. Д. SECRE код веб-страницы
Я пытаюсь с помощью следующего примера, но получил ошибку, когда я =21.
data2=fopen(strcat('DATA\WEBPAGE_SOURCE\train75_phish_data\',int2str(i),'.htm'),'r')
Я имею в виду это, все еще не может работать, какие-нибудь идеи? http://www.mathworks.com/help/matlab/ref/fopen.html
Вот мой код:
data = importdata('DATA/URL/trainURL')
domain_URL = regexp(data,'\w*://[^/]*','match','once')
[sizeData b] = size(domain_URL);
for i = 1:150
A7_data = domain_URL{i};
data2=fopen(strcat('DATA\WEBPAGE_SOURCE\train75_phish_data\',int2str(i),'.htm'),'r')
CharData = fread(data2, '*char')'; %read text file and store data in CharData
img_only = regexp(CharData, '<img.*?>', 'match');
feature7_data=(cellfun(@(n) isempty(n), strfind(img_only, A7_data)))
B7(i)=sum(feature7_data)
end
feature7(B7>=10)=1;
feature7(B7<10&B7>5)=0;
feature7(B7<=5)=-1;
feature7'
Вот мой вывод:
data = importdata('DATA/URL/trainURL') is a list of URL being saved inside
Я не мог зациклить результаты для i=20, он будет ошибаться при итерации =21, я хочу зациклить до 150, он не может прочитать "data2" для "i=21"
1 ответ
Я думаю, что вам нужно обработать возможные исключения, которые могут быть более принципиальными. Попробуй это:
data = importdata('DATA/URL/trainURL')
domain_URL = regexp(data,'\w*://[^/]*','match','once')
[sizeData b] = size(domain_URL);
for i = 1:150
A7_data = domain_URL{i};
filename = fullfile('DATA\WEBPAGE_SOURCE\train75_phish_data\',strcat(int2str(i),'.htm'));
if (exist(filename,'file')),
disp(sprintf('file %s exists, processing it',filename));
data2=fopen(filename,'r');
CharData = fread(data2, '*char')'; %read text file and store data in CharData
fclose(data2);
img_only = regexp(CharData, '<img.*?>', 'match');
feature7_data=(cellfun(@(n) isempty(n), strfind(img_only, A7_data)))
B7(i)=sum(feature7_data)
else,
disp(sprintf('file %s does not exist, skipping it!',filename));
end
end
feature7(B7>=10)=1;
feature7(B7<10&B7>5)=0;
feature7(B7<=5)=-1;
feature7'
после строки, которая делает фред.