天气网站如下:
http://www.weather.com.cn/weather/101281001.shtml
爬取各天气信息:
"""
思路分析:
①div/ul/li,获得7天天气预报的所有信息; --lxml、requests、XPath --list类型
②li下的所有数据进行提取数据; --对上述的7条数据进行处理,提取数据 XPath
③保存文件。 --文件操作、json模块。
"""
首先试着将网址的源码爬取下来
def parse_url(url, header):
"""解析url地址,获得网页的所有数据内容"""
response = requests.get(url, headers=header)
# 数据
# return response.text
return response.content.decode("utf-8")
def main():
# print("HelloWorld...")
# ①div/ul/li,获得7天天气预报的所有信息; --lxml、requests、XPath --list类型
# 网址、请求头
http_url = "http://www.weather.com.cn/weather/10128100101A.shtml"
headers = {
"User-Agent": "Mozi424/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/524.36 (KHTML, like Gecko) Chrome/72.0.3617.111 Safari/414.36"}
# 解析url
html_data = parse_url(http_url, headers)
print(html_data)
发现成功输出网页的源码,说明爬取成功。
利用xpath爬取天气预报的关键信息,获得7天天气信息,并保存到file下的weatherbyzj.json下,完整代码如下:
# coding:utf-8
import requests
import lxml.html
import json
"""
思路分析:
①div/ul/li,获得7天天气预报的所有信息; --lxml、requests、XPath --list类型
②li下的所有数据进行提取数据; --对上述的7条数据进行处理,提取数据 XPath
③保存文件。 --文件操作、json模块。
"""
def parse_url(url, header):
"""解析url地址,获得