python爬取静态网页历史天气数据

本文介绍了如何使用Python的requests和BeautifulSoup库来爬取静态网页中的历史天气数据。由于目标网站对某些路径进行了访问限制,作者通过浏览器保存网页到本地,然后解析保存的静态文件获取所需数据。解析过程中,使用了正则表达式来提取关键信息。
摘要由CSDN通过智能技术生成

python 爬取静态网页内容

利用python库 requestsBeautifulSoup ,对静态网页内容爬取;
这里给出的例子是对一个天气网站的历史天气进行爬取;

待更新

原理

获取网页内容

一般网页都会有 robots.txt 文件,用来记录用户对数据和表单内容的权限。直接在主页后面加 /robots.txt 即可访问到。

例如这里爬取的网页:http://tianqi.2345.com/robots.txt

robots.txt 的内容

User-agent: *
Disallow: /css/dhtmlxchart.css
Disallow: /o/
Disallow: /d/
Disallow: /*/*/Scripts/expressInstall.swf
Disallow: /indexs.htm
Disallow: /t/city/
Disallow: /t/city_m/
Disallow: /t/city_m2/
Disallow: /t/_s/
Disallow: /t/air/
Disallow: /t/today/
Disallow: /t/tomorrow/
Disallow: /t/typhoon/
Disallow: /t/wea_history/
Disallow: /t/wea_hour/
Disallow: /t/timezone/
Disallow: /t/detect2009v2.php
Disallow: /news/
Disallow: /s/
Disallow: /t/news/
Disallow: /life/
Disallow: /t/life/
Disallow: /t/lifenews/
Disallow: *.htm?*
Disallow: *php?*
Disallow: *?*
Disallow: *index*
Disallow: /t/shikuang/alert/
Disallow: *?from=lm*
Sitemap: http://tianqi.2345.com/baidu/SitemapIndex.xml

这里简单的解释下:
User-agent: * 表示下列内容权限对于所有临时用户 (也就是对所有的搜索引擎);
Disallow: /t/wea_history/ 表示对 /t/wea_history/ 路径下的所有内容 禁止访问

由于××网页禁止直接访问历史温度数据,用requests.get()得到的网页内容只能获取当天的温度表,历史温度表单是动态加载的。这里采用的方法是直接在当月查询页面下用浏览器右键菜单保存静态网页到本地,发现保存的网页文件中包含了当月的历史数据。

解析网页内容

正则表达式提取

附python代码

''' python 依赖库
'''
import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
import os
import sys
#构造类
import re
import pandas as pd
import requests
from bs4 import BeautifulSoup

class spyder:
    ''' 从××天气网页爬取天气信息
    '''

    
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值