最近项目需要对合肥市历史天气数据进行爬取,分析了几个天气数据网站,最终选择天气后报网站. 将实现过程遇到的问题以及下来,供以后参考。
步骤分析
这里我使用的是Python中的requests库BeautifulSoup库进行爬取,自己在实现的过程中主要可分为以下几个大步骤。
1.熟悉requests库和BeautifulSoup的使用:
requests主要是与HTTP请求相关的库,在我们的爬虫中主要用于请求获取网页HTML内容,新手可以参考文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html .
BeautifulSoup库是一个能够从HTML文件中提取数据的Python库,由于我们获取的HTML文件包含整个网页内容,我们还需要定位到我们所需要获取的数据部分,BeautifulSoup提供了包括find和find_all等一系列强大的函数帮助我们快速搜索和定位,入门教程:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html .
2.分析网页结构
第二步我觉得是要先打开我们要爬取的网页,使用谷歌浏览器等开发者工具快速定位到我们所需要的HTML内容:
3.存储数据
数据获取到后需要将数据以结构化的方式存储起来,这里可以为CSV文件或存储到数据库。存储的时候还需要注意的是需要提前进行预处理,避免数据有空格、换行符等特殊字符或出行中文乱码问题。
实现过程
获取网页内容
代码如下: