From 246157d16873fee87a35756f65ba7e3749ba238e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Mon, 28 Oct 2024 09:03:43 +0800 Subject: [PATCH] 'commit' --- Tools/YunNan.py | 68 +++++++++++++++++++ .../Controller/DataEaseController.java | 4 +- .../base/DataEase/Model/DataEaseModel.java | 5 +- 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 Tools/YunNan.py diff --git a/Tools/YunNan.py b/Tools/YunNan.py new file mode 100644 index 00000000..96af6f67 --- /dev/null +++ b/Tools/YunNan.py @@ -0,0 +1,68 @@ +# pip install pymysql +# pip install requests beautifulsoup4 + +# 查看结果 +# select * from t_dm_area where province_id='FD61813E-70A1-42AB-9A8E-141ED4D47B98' order by level_id; + +import time + +import pymysql +import requests +from bs4 import BeautifulSoup +import re + +if __name__ == '__main__': + # 遍历 mysql数据库,然后开启爬虫 + # 建立数据库连接 + conn = pymysql.connect( + host='10.10.14.203', # 主机名(或IP地址) + port=3306, # 端口号,默认为3306 + user='root', # 用户名 + password='Password123@mysql', # 密码 + charset='utf8mb4' # 设置字符编码 + ) + + # 创建游标对象 + cursor = conn.cursor() + # 选择数据库 + conn.select_db("ds_db") + # 执行查询操作 + cursor.execute( + "SELECT id,full_name FROM t_dm_area where province_id='FD61813E-70A1-42AB-9A8E-141ED4D47B98' order by level_id") + + # 获取查询结果,返回元组 + result: tuple = cursor.fetchall() + + for e in result: + id = e[0] + area_name = e[1] + url = "https://baike.baidu.com/item/" + area_name + "?fromModule=lemma_search-box" + + print(url) + # 发送HTTP GET请求 + response = requests.get(url) + # 检查请求是否成功 + if response.status_code == 200: + # 使用BeautifulSoup解析HTML内容 + soup = BeautifulSoup(response.text, 'html.parser') + # 假设我们要抓取的是

标签中的文字 + # 你可以根据需要修改选择器来抓取不同的内容 + specific_divs = soup.select('div.para_YYuCh.summary_nfAdr.MARK_MODULE') + # 遍历找到的所有特定div标签,并打印它们的文本内容 + for div in specific_divs: + text = div.get_text(strip=True) # 使用get_text()方法获取文本,并去除 + # 使用正则表达式移除所有形如[数字]和[数字-数字]的字符串 + cleaned_text = re.sub(r'\[\d+(?:-\d+)?\]', '', text) + sql = "update t_dm_area set memo=%s where id=%s" + cursor.execute(sql, (cleaned_text, id)) + conn.commit() + print("更新"+area_name+"数据成功") + break + else: + print('Failed to retrieve the webpage') + + time.sleep(2) + # 关闭游标和连接 + cursor.close() + conn.close() + print("结束") \ No newline at end of file diff --git a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java index a6adbe32..44d5cd58 100644 --- a/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java +++ b/src/main/java/com/dsideal/base/DataEase/Controller/DataEaseController.java @@ -3,6 +3,7 @@ package com.dsideal.base.DataEase.Controller; import com.dsideal.base.Base.Model.BaseModel; import com.dsideal.base.DataEase.Model.DataEaseModel; import com.dsideal.base.Interceptor.IsLoginInterface; +import com.dsideal.base.Interceptor.IsNumericInterface; import com.dsideal.base.Util.CommonUtil; import com.dsideal.base.Util.CookieUtil; import com.jfinal.aop.Before; @@ -40,6 +41,7 @@ public class DataEaseController extends Controller { */ @Before(GET.class) @IsLoginInterface({}) + @IsNumericInterface({"dataset_id"}) public void getDataSetTable(int dataset_id) { List list = dm.getDataSetTableContent(dataset_id); renderJson(CommonUtil.renderJsonForLayUI(list)); @@ -63,7 +65,7 @@ public class DataEaseController extends Controller { JSONArray jsonArray = JSONArray.fromObject(data); for (Object o : jsonArray) { net.sf.json.JSONObject jo = (net.sf.json.JSONObject) o; - if (jo.containsKey("行政区划") && !jo.getString("行政区划").equals(xmqh)) { + if (identity_id>1 && jo.containsKey("行政区划") && !jo.getString("行政区划").equals(xmqh)) { renderJson(CommonUtil.returnMessageJson(false, "数据集数据与当前登录人员所属行政区划不一致,请重新选择数据集!")); return; } diff --git a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java index 4cb0ce64..6fc0aaf4 100644 --- a/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java +++ b/src/main/java/com/dsideal/base/DataEase/Model/DataEaseModel.java @@ -55,6 +55,9 @@ public class DataEaseModel { if (identity_id > 1) { String sql = "delete from dataease.`" + tableName + "` where `行政区划`=?"; Db.update(sql, xmqh); + } else { + String sql = "delete from dataease.`" + tableName + "`"; + Db.update(sql); } List list = new ArrayList<>(); for (int i = 0; i < ja.size(); i++) { @@ -68,6 +71,6 @@ public class DataEaseModel { list.add(record); } } - Db.use("dataease").batchSave("`" + tableName + "`", list, 100); + Db.use("dataease").batchSave(tableName, list, 100); } }