use strict;
use warnings;
# Initialize variables to store extracted URLs
my @google_maps_urls;
# Process each HTML file (1.html to 25.html)
for my $file_number (1..25) {
my $input_file = "${file_number}.html";
# Open the current input file for reading
open my $input_fh, '<', $input_file or warn "Cannot open input file '$input_file': $!";
my $previous_line = '';
my $current_line = '';
my $extracting = 0;
# Read each line and look for URLs
while (my $line = <$input_fh>) {
chomp $line;
# Check if the current line contains "+82"
if ($current_line =~ /\+82/) {
# Check if the next line contains "Website"
if ($line =~ /Website/) {
$extracting = 1;
push @google_maps_urls, "$input_file, $current_line";
}
}
# Continue extracting 3 more lines if we're in an extraction state
if ($extracting) {
push @google_maps_urls, "$input_file, $line";
if (@google_maps_urls % 4 == 0) {
$extracting = 0;
}
}
# Store the current line for the next iteration
$previous_line = $current_line;
$current_line = $line;
}
# Close the current input file
close $input_fh;
}
# Save the extracted URLs to a file
my $output_file = 'firefox_website_02.txt';
open my $output_fh, '>', $output_file or die "Cannot open output file '$output_file': $!";
foreach my $url (@google_maps_urls) {
print $output_fh "$url\n";
}
# Close the output file
close $output_fh;
print "Extraction complete. Extracted 4 lines (including +82 and Website) are saved in '$output_file'\n";