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

燕郊网站建设哪家好北京seo顾问外包

燕郊网站建设哪家好,北京seo顾问外包,成品网站w灬 源码1688三叶草,wordpress改造mip0x00 前言 朋友做标书,需要用到每日温度,他的老板让在这个网页手动复制做一个长期表出来:http://www.tianqihoubao.com/lishi/nanjing/month/202412.html 想着帮个忙,做个爬虫脚本吧,忽然发现这个页面很有意思&#xf…

0x00 前言

朋友做标书,需要用到每日温度,他的老板让在这个网页手动复制做一个长期表出来:http://www.tianqihoubao.com/lishi/nanjing/month/202412.html

想着帮个忙,做个爬虫脚本吧,忽然发现这个页面很有意思:

  • 简单的 BeautifulSoup4 只能爬到主要信息还没有加载时的页面内容
  • 网页返回信息的时间上下限非常久,快则3秒慢则30秒
  • 流式一行一行渲染,简单 wait 会很容易只获取一半就截断了

0x01 驱动准备

我的 Chrome 是 133.x 版本的,由于 114.x 之后的版本就不在原先的页面更新了,还挺难找的。

现在的 ChromeDriver 可以到这里下载:
https://googlechromelabs.github.io/chrome-for-testing/#stable

0x02 源码分享

# coding: utf-8
# ==========================================================================
#   Copyright (C) since 2024 All rights reserved.
#
#   filename : web_spider_eye_selenium.py
#   author   : chendian / okcd00@qq.com
#   date     : 2024/12/08 00:33:33
#   desc     : Download the driver in https://googlechromelabs.github.io/chrome-for-testing/#stable
#              
# ==========================================================================
import time
import json 
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECclass WebSpiderSelenium():def __init__(self):self.options = Options()self.options.headless = True  # 设置无头模式(不弹出浏览器窗口)# 设置 ChromeDriver 路径driver_path = './chromedriver_131.exe'  # 修改为你自己的 ChromeDriver 路径service = Service(driver_path)# 初始化 WebDriverself.driver = webdriver.Chrome(service=service, options=self.options)def scrape_table_content_with_selenium(self, url, css_selector):try:self.driver.get(url)# time.sleep(5)  # 可以根据实际情况调整等待时间# 等待目标元素加载完成(最长等待10秒)target_element = WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, css_selector)))return target_element.text.strip()except Exception as e:return f"发生错误: {e}"def scrape_table_content_with_selenium_wait(self, url, css_selector):# 配置 ChromeOptionstry:# 打开网页self.driver.get(url)# 等待页面加载完成time.sleep(5)  # 可以根据实际情况调整等待时间# 使用选择器定位到目标元素target_element = self.driver.find_element(By.CSS_SELECTOR, css_selector)# 获取并返回目标元素的文本内容return target_element.text.strip()except Exception as e:return f"发生错误: {e}"def crawl_weather():# 示例results = {}css_selector = "#content > table > tbody"  # 指定选择器wss = WebSpiderSelenium()# for date in ['202308', '202309', '202406', '202408']:for year in ['2023', '2024']:for month in [f"{i:02d}" for i in range(1, 13)]:date = f"{year}{month}"url = f"http://www.tianqihoubao.com/lishi/nanjing/month/{date}.html"  # 替换为实际的目标 URLresult = wss.scrape_table_content_with_selenium(url, css_selector)results[date] = str(result)json.dump(results, open('./南京近两年天气.v2.json', 'w'), ensure_ascii=False, indent=1)def analysis_results():results = json.load(open('./南京近两年天气.v2.json', 'r'))import pandas as pdret = []for month, text in results.items():lines = text.split('\n')[1:]for line in lines:items = line.split()date, l, h = items[0], items[3], items[5]ret.append({"日期": date, "最低温度": l, "最高温度": h})pd.DataFrame(ret).to_excel("./南京近两年温度情况.xlsx")if __name__ == "__main__":crawl_weather()analysis_results()

0x03 效果展示

朋友只需要温度信息,如果需要更多,在 items 里拼就行
欢迎大家举一反三用于其它爬虫场景。

在这里插入图片描述

http://www.ds6.com.cn/news/115997.html

相关文章:

  • 餐饮网站开发毕业设计模板seo引擎优化软件
  • wordpress管理工具长春做网络优化的公司
  • 建设班级网站首页深圳经济最新新闻
  • 微信小程序做链接网站网站优化seo培训
  • 东营做网站百度seo关键词优化软件
  • 上虞区住房和城乡建设局网站公众号seo排名
  • 徐州酷优网络seo营销怎么做
  • 包头手机网站制作市场营销一般在哪上班
  • 网站建设算无形资产吗百度推广app下载官方
  • 手机网站打开很慢seo综合查询站长工具关键词
  • wordpress 第一张图片 get first百度竞价优化排名
  • 个人帮忙做网站吗凤凰网台湾资讯
  • 个人域名怎么做社交网站怎么做网络营销
  • 成都网站建设公司盈利吗推推蛙网站诊断
  • 网站开发项目经验怎么写淘宝优化
  • 深圳网站定制深圳网站建设公司最新搜索关键词
  • 可以做单的猎头网站北京seo优化方案
  • 企业外贸网站建设电商具体是做什么的
  • 苏州网站制作排名优化站外推广
  • 网站建设方案设计是什么意思注册公司流程和费用
  • 深圳网站建设公司地址手机百度下载app
  • 直播app开发教程百度seo和sem
  • 百度蜘蛛网站深圳居家办公
  • 安阳做网站电话网络营销专业代码
  • 重庆市建筑信息网查询seo sem
  • 小挑可以做网站吗希爱力的功效及副作用
  • 做公益网站有什么要求全自动精准引流软件
  • 如何开个公司网站海淀区seo多少钱
  • 婚恋交友网站开发方案网站设计服务企业
  • 如何开发网站平台情感营销经典案例