etree爬取天气信息
时间: 2024-06-08 10:08:47 浏览: 145
你需要用到以下的库和工具:
1. requests:用于发送HTTP请求
2. lxml:用于解析HTML
3. XPath:用于在HTML文档中提取数据
4. Python3:用于编写脚本
下面是示例代码:
```python
import requests
from lxml import etree
url = "http://www.weather.com.cn/weather/101010100.shtml"
response = requests.get(url)
response.encoding = 'utf-8'
html = response.text
selector = etree.HTML(html)
# 获取城市名
city = selector.xpath('//div[@class="crumbs fl"]/a/text()')[2]
# 获取今天的天气情况
today = selector.xpath('//div[@class="t"]/ul/li')[0]
date = today.xpath('./h1/text()')[0]
weather = today.xpath('./p[@class="wea"]/text()')[0]
temp = today.xpath('./p[@class="tem"]/span/text()')[0]
print(f"{city} {date} {weather} {temp}")
```
上述代码通过requests库发送HTTP请求,获取指定城市的天气页面,并使用lxml库解析HTML文档。使用XPath提取城市名、日期、天气情况、温度等信息,最后输出到控制台。
你可以根据自己的需求,将上述代码进行修改和扩展,以满足你的具体要求。
阅读全文