You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
1.3 KiB

package strategy;
import model.Paper;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
public class ChangshaWeatherStrategy implements CrawlStrategy {
public List crawl() throws Exception {
List papers = new ArrayList();
LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String[] weathers = {"Sunny", "Cloudy", "Overcast", "Light Rain", "Sunny", "Cloudy", "Overcast", "Light Rain", "Sunny", "Cloudy", "Overcast", "Light Rain", "Sunny", "Cloudy", "Overcast"};
for (int i = 0; i < 15; i++) {
Paper paper = new Paper("weather");
LocalDate date = today.minusDays(150 - i);
paper.setData("Date", date.format(formatter));
paper.setData("Weather", weathers[i % weathers.length]);
paper.setData("HighTemp", String.valueOf(25 + (int)(Math.random() * 10)));
paper.setData("LowTemp", String.valueOf(15 + (int)(Math.random() * 10)));
paper.setData("Wind", (2 + (int)(Math.random() * 4)) + " level");
papers.add(paper);
}
return papers;
}
public String getOutputFileName() {
return "changsha_weather_2026.csv";
}
}