Python爬虫 |
您所在的位置:网站首页 › 北京天气预报历史记录最新消息 › Python爬虫 |
本文以北京天气为例讲解数据爬取的整个流程,不涉及网络爬虫的原理,直接讲爬取代码怎么写! 1、首先找到你要爬取的网站url:'http://www.tianqihoubao.com/lishi/beijing.html' ,进入该网页,可以看到网页是这样的。 2、接下来进行一波爬虫的固定操作,首先创建存储数据的excel文件,pandas方法也可以创建,这里用的xlsxwriter是为了方便之后一行一行向excel中存储数据;然后找到网页的User-Agent作为网页的heahders,使用requests.get方法请求网页;最后使用Beautifulsoup方法请求html网页源码中的内容。代码如下: BJWeatherExcel = xlsxwriter.Workbook('北京天气爬虫.xlsx') # 创建Excel表格北京天气爬虫.xlsx,之后每年添加一个sheet url = 'http://www.tianqihoubao.com/lishi/beijing.html' head = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36','Connection': 'close'} # 网页的useragent html = requests.get(url, headers = head) bsObj = BeautifulSoup(html.content, 'lxml') # 网页请求3、接下来就是查看网站源代码进行数据的爬取了。进入网页,右键选择 “查看网页源代码” ,就能看到网页的源代码了: 4、在网页源代码中,可以看到北京历史天气数据存储在标签内,而每一年的数据又在标签内,因此使用bsObj.find_all()方法找到所有该标签下的内容,再遍历所有的年。 OneYearWeather = bsObj.find_all('div', class_ = "box pcity") # 某一年的所有天气都在该div内5、下面遍历每一年内的全部季度,观察上图的源码可以知道,一个季度的数据在一个标签内,每个月的数据在一个标签下的a标签内,这里首先要做的就是找到一年数据中的全部标签,由于网页源码不太规范,需要限制一下爬取年份,不然就会不小心爬取到网站底部一些别的数据。针对每一年,创建一个工作表,并写入表头第一行的内容(日期,天气状况,气温,风力风向)。 Year = 2010 for AQuarter in OneYearWeather: # 一个季度的数据 Year += 1 if Year |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |