Открыть с правильным форматом файла и пути

Как мне прочитать мой файл с инкрементным файлом.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'

после строки, которая делает фред.

Другие вопросы по тегам