1.先安装必要的模块
先进入python的安装目录下的Scripts目录,地址栏敲cmd回车然后输入下面命令回车:
pip install requests bs4
2.然后就可以愉快的码代码了
其实爬虫的本质就是一个http请求,难的就是数据的分析和截取,这个demo的数据还是挺好分析的,分析如下:
快速获取html标签,得到自己想要的标签数据
import requests
from bs4 import BeautifulSoup
if __name__ == "__main__":
print("#####查询历史天气爬虫#########")
city = input("输入城市拼音如岳阳(yueyang):")
date = input("输入时间如2020年3月(202003):")
# 拼接要爬取的地址
domain = 'http://lishi.tianqi.com/' + city + '/' + date + '.html'
# 这里设置请求头数据不然会拒绝访问
header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
res = requests.get(url=domain, headers=header)
# 将返回数据解析
bf = BeautifulSoup(res.text, "html.parser")
# 下面就是分析数据啦,拿到对应html标签下面的内容
dateContent = bf.select("body > div.main.clearfix > div.main_left.inleft > div.tian_three > ul > li > div.th200")
dateContent = [i.string for i in dateContent]
temperature = bf.select("body > div.main.clearfix > div.main_left.inleft > div.tian_three > ul > li > div.th140")
temperature = [i.string for i in temperature]
i = 0
# 然后这里循环打印爬取的数据
while i < len(dateContent):
print(dateContent[i], "\t", temperature[4 * i + 1], "-", temperature[4 * i], "\t",
temperature[2 + 4 * i])
i += 1
最后是效果图(排版有点丑)