当前位置: 首页 > wzjs >正文

普通企业网站费用杭州seo托管公司推荐

普通企业网站费用,杭州seo托管公司推荐,音乐网站建设教程,网站建立服务项目需要未来40天气象,找了一圈气象api,不是收费就是不支持未来40天,干脆写了个爬虫自动爬取气象网站的数据。以前都是用Python写的,重新拾起来再用Java写别有一番风味。 目标气象网站:西安天气预报40天_西安天气预报…

项目需要未来40天气象,找了一圈气象api,不是收费就是不支持未来40天,干脆写了个爬虫自动爬取气象网站的数据。以前都是用Python写的,重新拾起来再用Java写别有一番风味。

目标气象网站:西安天气预报40天_西安天气预报40天查询,西安未来40天天气预报- 东方天气

第三方依赖:

<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.15.3</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.1.0</version>
</dependency>

代码:

package com.test.main;import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;import java.io.FileOutputStream;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;@Slf4j
public class weatherSpider {public static void main(String[] args) {List<WeatherInfo> weatherInfos = new ArrayList<>();String url = "https://tianqi.eastday.com/xian/40/"; // 目标网页URL// 获取前两天的日期LocalDate twoDaysAgo = LocalDate.now().minusDays(2);// 设置日期格式DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");try {// 设置用户代理,尝试绕过访问限制Document document = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3").timeout(10000) // 设置超时时间.get();// 查找所有class为temp的div标签Elements tempElements = document.select("div.temp");// 遍历所有找到的div标签for (Element tempElement : tempElements) {// 获取div标签内的所有span标签Elements spanElements = tempElement.select("span");// 遍历所有span标签并打印内容for (Element spanElement : spanElements) {String spanText = spanElement.text();System.out.println(spanText);String lowTemp = spanText.split("~")[0];String highTempC = spanText.split("~")[1];String highTemp = highTempC.substring(0, highTempC.length() - 1);System.out.println("日期:" + twoDaysAgo.format(formatter) + " 温度:" + lowTemp + " ~ " + highTemp);WeatherInfo weatherInfo = new WeatherInfo();weatherInfo.setDate(twoDaysAgo.format(formatter));weatherInfo.setLowTemp(lowTemp); // 示例最低气温weatherInfo.setHighTemp(highTemp); // 示例最高气温weatherInfos.add(weatherInfo);twoDaysAgo = twoDaysAgo.plusDays(1);break;}}// 写入ExcelwriteWeatherToExcel(weatherInfos, "C:\\Users\\Xylon\\Desktop\\weather_forecast.xlsx");} catch (Exception e) {throw new RuntimeException(e);}}// 将天气数据写入Excelprivate static void writeWeatherToExcel(List<WeatherInfo> weatherInfos, String filePath) throws Exception {try (Workbook workbook = new XSSFWorkbook()) {Sheet sheet = workbook.createSheet("Weather Forecast");// 创建表头Row headerRow = sheet.createRow(0);String[] headers = {"Date", "LowTemp", "HighTemp"};for (int i = 0; i < headers.length; i++) {Cell cell = headerRow.createCell(i);cell.setCellValue(headers[i]);}// 写入天气数据for (int i = 0; i < weatherInfos.size(); i++) {Row row = sheet.createRow(i + 1);WeatherInfo weatherInfo = weatherInfos.get(i);row.createCell(0).setCellValue(weatherInfo.getDate());row.createCell(1).setCellValue(weatherInfo.getLowTemp());row.createCell(2).setCellValue(weatherInfo.getHighTemp());}// 写入文件try (FileOutputStream fileOut = new FileOutputStream(filePath)) {workbook.write(fileOut);}System.out.println("Weather data has been written to " + filePath);} catch (Exception e) {e.printStackTrace();}}// 天气信息类@Setter@Getterstatic class WeatherInfo {private String date;private String lowTemp;private String highTemp;}}


文章转载自:

http://vKKjCTLE.jbctp.cn
http://eOSYmIKV.jbctp.cn
http://RpgejrYR.jbctp.cn
http://qTktKUym.jbctp.cn
http://hFmb13nw.jbctp.cn
http://4cCstfN7.jbctp.cn
http://UttMRpbx.jbctp.cn
http://vtGFbTDC.jbctp.cn
http://Qh51J1pO.jbctp.cn
http://2X8QQoPB.jbctp.cn
http://Ba3imK73.jbctp.cn
http://xSEA4fMl.jbctp.cn
http://0P4LJTps.jbctp.cn
http://QfzvZY2g.jbctp.cn
http://rgVANPpd.jbctp.cn
http://JnMBMYIb.jbctp.cn
http://rLqEstUA.jbctp.cn
http://RCjVTVyS.jbctp.cn
http://mqIGI5fZ.jbctp.cn
http://KhjBXYkW.jbctp.cn
http://7baH3GRW.jbctp.cn
http://PSovOYSN.jbctp.cn
http://dI2ypgcD.jbctp.cn
http://VZiyz6xi.jbctp.cn
http://0NoBFNms.jbctp.cn
http://jUZzJe8g.jbctp.cn
http://FpXJxKTH.jbctp.cn
http://VWiDHSpV.jbctp.cn
http://5v6Orr0Y.jbctp.cn
http://plHJwmmx.jbctp.cn
http://www.dtcms.com/wzjs/694228.html

相关文章:

  • 专业做外贸网站的公司东莞网络科技有限公司
  • 公司网站程序顺的品牌网站设计价位
  • 嘉兴h5建站网站建设步骤和流程
  • 厦门建设执业资格注册管理中心网站设计网站公司力荐亿企邦
  • 网站开发 图标程序员外包网
  • 怎么网上接网站开发单自己做网站设计欣赏
  • ecetc商务网站建设工程师常州网站开发公司推荐
  • 做企业网站收费价格中国建设工程网站
  • 网站构成要素爱站网站长工具
  • 请人做外贸网站应注意什么wordpress带汉字图片不显示
  • 撤销网站备案中山市建设局网站窗口电话号码
  • 舟山建设网站公司免费网站建设哪家好
  • 西部数码做跳转网站全国医院网站建设
  • 老网站删除做新站会影响收录吗网络推广公司哪里好
  • 免费自适应网站模板河北唐山 网站建设
  • 营销网站建设一薇上海做网站的小公司
  • 哪个网站可以做行程wordpress 打不开页面
  • 台州企业网站模板建站网站搭建dns有用吗
  • 企业网站的制作周期seo诊断报告示例
  • 加强国资集团网站建设微信抽奖小程序怎么做
  • 西安企业网站建设高新区广告推广软文案例
  • 建设校园门户网站方案wordpress小图标
  • 婚恋网站怎么做互联网外包公司
  • 广东网站建设公司报价表wordpress文章分类页面置顶
  • 做电影网站都需要什么手续dede怎么做网站
  • 凡科网站建设网站win10搭建wordpress
  • ps怎么做网站图片营销型网站搭建公司
  • 建设网站方法中国域名网站排名
  • wordpress站点一百数据卡不帝国cms免费模板
  • 开发手机网站用什么语言wordpress 翻页函数