又改了一下,可以不用字典。- import requests # 导入爬虫模块
- from bs4 import BeautifulSoup # 导入html代码解析模块
- from prettytable import PrettyTable # 导入整齐输出模块
-
- url = "http://www.weather.com.cn/weather/101210101.shtml"
- get_html = requests.get(url) # 获取html源代码
- soure = BeautifulSoup(get_html.content,"html.parser")
- body = soure.find("body") # 找到body标签
- div = body.find("div",id = "7d") # 找到div开头,并且属性有"id="7d""的标签
- ul = div.find("ul") # 从 div开头并且属性有"id="7d""的标签 中找到ul标签
- li = ul.find_all("li") # 找到所有的li标签
-
- lst = [[i.find("h1").string,
- i.find_all("p")[0].string,
- i.find_all("p")[1].find("span").string+"℃",
- i.find_all("p")[1].find("i").string,
- i.find_all("p")[2].find("span")["title"],
- i.find_all("p")[2].find("i").string] for i in li]
-
- table = PrettyTable(["日期", "天气","最高温度","最低温度","风向","风力"])
- for i in range(7):
- table.add_row(lst[i])
- print(table)
复制代码
|