一、数据获取
数据连接
http://www.tianqihoubao.com/lishi/

获取某个城市2011年至今每天的数据
import requests
from lxml import etree
import pandas as pd
import os
import re
class Weather:
def __init__(self, city):
self.city = city
self.host_url = "http://www.tianqihoubao.com/lishi/{}/month/{}.html"
self.url = "http://www.tianqihoubao.com/lishi/{}.html".format(self.city)
self.headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
}
def get_url(self, url):
response = requests.get(url, headers=self.headers)
html_str = response.text
return html_str
def get_month_url_list(self, html_str):
html = etree.HTML(html_str)
url_list = [i for i in html.xpath("//div[@id='content']/div/ul/li/a/@href")]
return url_list
def get_content_list(self, html_str):
content_list = list()
html = etree.HTML(html_str)
tr_list = html.xpath("//*[@id='content']/table/tr")
for tr in tr_list[1:]:
item = dict()
item["日期"] = tr.xpath("./td[1]/a/@href")[0