使用 Xpath 从网页爬取廊坊近 7 日天气的代码

本教程介绍如何使用 Python 和 Xpath 从网页抓取廊坊未来 7 天的天气信息。

代码示例:

import requests
from lxml import etree

url = 'https://xxx.com/weather'  # 替换为目标网站链接
response = requests.get(url)
html = response.text
selector = etree.HTML(html)

# 获取近7日天气信息的 XPath 表达式
xpath_expr = '//div[@class='weather-container']/div[position()<8]//div[@class='weather-info']//text()'

weather_info = selector.xpath(xpath_expr)
print(weather_info)

代码解析:

  1. 导入库: 导入 requests 库用于发送 HTTP 请求获取网页内容,导入 lxml 库用于解析 HTML 文档。
  2. 获取网页内容: 使用 requests.get(url) 获取目标网站的 HTML 内容,并将其保存到 html 变量中。
  3. 解析 HTML: 使用 etree.HTML(html) 将 HTML 字符串解析为一个 etree 对象,方便使用 Xpath 表达式进行元素选择。
  4. 定义 Xpath 表达式: xpath_expr 定义了 Xpath 表达式,用于选择目标网站中包含近 7 日天气信息的元素。该表达式使用了相对路径,首先选取了 class 为 'weather-container' 的 'div' 元素,然后选取前 7 个子元素(即近 7 日天气的信息),最后选取子元素中 class 为 'weather-info' 的 'div' 元素下的所有文本节点,即可获取天气信息。
  5. 提取天气信息: 使用 selector.xpath(xpath_expr) 执行 Xpath 表达式,并将获取到的天气信息保存到 weather_info 变量中。
  6. 打印结果: 使用 print(weather_info) 打印获取到的天气信息。

注意事项:

  • 本示例代码仅供参考,实际爬取时需要根据目标网站的页面结构和元素属性进行调整。
  • 使用 Xpath 进行网页爬取时,建议使用 Chrome 浏览器自带的开发者工具来查看目标网页的 HTML 结构,并根据实际情况编写 Xpath 表达式。
  • 请尊重网站的 robots.txt 协议,不要过度爬取网页,以免造成服务器负担。
  • 请勿将本教程用于任何违法行为。
Python Xpath 抓取廊坊 7 日天气数据教程

原文地址: https://www.cveoy.top/t/topic/n0zW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录