Просмотр исходного кода

爬取气象局天气预报截图

huangyan 1 неделя назад
Родитель
Сommit
5d636afc8c
4 измененных файлов с 6 добавлено и 68 удалено
  1. 1 0
      .idea/misc.xml
  2. 1 1
      .idea/nmc.iml
  3. 0 65
      logs/scrapy.log
  4. 4 2
      nmc/spiders/nmcspider.py

+ 1 - 0
.idea/misc.xml

@@ -3,4 +3,5 @@
   <component name="Black">
     <option name="sdkName" value="Python 3.11" />
   </component>
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11" project-jdk-type="Python SDK" />
 </project>

+ 1 - 1
.idea/nmc.iml

@@ -8,7 +8,7 @@
   <component name="Go" enabled="true" />
   <component name="NewModuleRootManager">
     <content url="file://$MODULE_DIR$" />
-    <orderEntry type="inheritedJdk" />
+    <orderEntry type="jdk" jdkName="Python 3.11" jdkType="Python SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" name="Python 3.11 interpreter library" level="application" />
   </component>

+ 0 - 65
logs/scrapy.log

@@ -1,65 +0,0 @@
-2024-06-05 13:53:06 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ANM/kangbashitiyuzhongxin.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 13:59:23 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AJL/fusong.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:06:26 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/zuojiang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:07:01 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/yuhang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:07:33 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/xiangshan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:08:27 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/qiantang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:08:54 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/pingyang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:09:16 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/nanzuo.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:09:38 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/luqiao.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:10:04 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/longgang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:10:37 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/jiangbei.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:11:04 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/huangyan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:11:26 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/huzhou.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:11:50 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/haishu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:12:21 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/deqing.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:12:52 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/cangnan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:13:34 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AZJ/shaoxing.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:19:48 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AFJ/diaoyudao.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:21:15 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AJX/sanqingshan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:22:36 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AJX/gongqingcheng.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:34:20 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHB/suixian.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:35:59 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHB/yichang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:37:19 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHN/yueyangxian.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:40:23 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHN/wangchengqu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:41:20 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGD/yangshan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:42:56 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGD/huilai.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:45:46 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/rongshui.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:46:09 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/rongan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:47:01 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/luzhai.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:47:33 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/liuzhou.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:47:55 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/liujiang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:48:18 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/liucheng.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:49:51 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/cangwu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:50:31 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGX/nanningchengqu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:51:33 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHI/sanya.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:52:06 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AHI/huangyandao.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:53:21 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ACQ/nanchuan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:54:21 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/zuozhou.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:55:12 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/yibin.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:55:35 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/yilongxinzheng.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:57:21 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/qianfeng.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:59:22 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/huilichengqu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 14:59:47 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/huazuo.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:00:39 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/deyang.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:01:16 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/daying.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:01:51 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/baoxing.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:03:09 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASC/chengdu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:04:57 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGZ/panzhou.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:06:30 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGZ/anshun.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:15:43 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASN/weinan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:18:31 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ASN/xian.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:19:07 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGS/zhangye.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:19:52 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGS/wuwei.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:20:23 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGS/tianzhu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:23:34 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AGS/jiayuguan.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:25:15 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AQH/chengduochalagou.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:28:15 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/moyu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:28:55 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/kuerle.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:29:21 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/kashi.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:29:49 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/huoerguosi.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:30:37 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/changji.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:31:09 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/bohu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:31:49 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/akesu.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:32:37 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/AXJ/atushi.html 上,在指定时间内未能找到指定元素使用默认图片
-2024-06-05 15:33:06 [nmcspider] ERROR: 在页面 http://www.nmc.cn/publish/forecast/ATW/gaoxiong.html 上,在指定时间内未能找到指定元素使用默认图片

+ 4 - 2
nmc/spiders/nmcspider.py

@@ -31,8 +31,10 @@ def retry_get_url(driver, url, retries=3, delay=5):
         except TimeoutException:
             if attempt < retries - 1:  # 如果还没达到最大重试次数
                 time.sleep(delay)  # 等待一段时间后重试
+                return None
             else:
                 return False  # 所有重试都失败了
+    return None
 
 
 class NmcspiderSpider(scrapy.Spider):
@@ -125,7 +127,7 @@ class NmcspiderSpider(scrapy.Spider):
                 EC.presence_of_element_located((By.ID, 'realChart')))
             self.driver.execute_script("arguments[0].scrollIntoView({block: 'center', behavior: 'instant'});",
                                        highcharts)
-            # time.sleep(2)
+            time.sleep(5)
             # 获取屏幕截图
             screenshot = self.driver.get_screenshot_as_png()
             script = """
@@ -187,7 +189,7 @@ class NmcspiderSpider(scrapy.Spider):
                 image_path = os.path.join(full_path, name)
                 cropped_image.save(image_path)
             except TimeoutException:
-                default_image_path = r"E:\pySpider\nmc\default_image.png"  # 这里填写默认图片的路径
+                default_image_path = r"E:\pySpider\nmc\default_image.png"  # 默认图片的路径
                 backup_image = Image.open(default_image_path)
                 name = target_part + "_3.png"
                 image_path = os.path.join(full_path, name)