最近一段时间,四川真的感觉遭遇了最大最强高温,一到户外感觉都要被烤干了,可怕的故事是,现在才只有7月份呢,要是等到了8 、9月份,不会是要更热吧? 很多小伙伴都表示,,现在天气的温度这么高,我们必须要做好应对措施,不然疏于防范,一下子中暑了可就不好了。那作为有爬虫技术小伙伴些能不能做一个爬虫程序,爬取天气预警信息呢?不仅能够提前预防高温,有什么狂风暴雨之类的,也能提前做好准备,这个会很实用。既然小伙伴都这么建议了,我们就安排上,通过爬虫程序,爬取天气预警信息。 这里我们获取的数据来源于 http://www.weather.com.cn,在获取高温数据之前我们先对网站进行简单的分析,分析发现反爬机制不是很严,可以很好的获取,只要把基本的反爬措施做好就可以,比如代理 IP 的添加。代理不知道选哪家靠谱的,这里我们推荐使用亿牛云代理。文中我们也实践下代理的使用,示例如下:
1 2 import requests 3 import random 4 5 # 要访问的目标页面 6 targetUrl = "http://httpbin.org/ip" 7 8 # 要访问的目标HTTPS页面 9 # targetUrl = "https://httpbin.org/ip" 10 11 # 代理服务器(产品官网 www.16yun.cn) 12 proxyHost = "t.16yun.cn" 13 proxyPort = "31111" 14 15 # 代理验证信息 16 proxyUser = "username" 17 proxyPass = "password" 18 19 proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % { 20 "host" : proxyHost, 21 "port" : proxyPort, 22 "user" : proxyUser, 23 "pass" : proxyPass, 24 } 25 26 # 设置 http和https访问都是用HTTP代理 27 proxies = { 28 "http" : proxyMeta, 29 "https" : proxyMeta, 30 } 31 32 33 # 设置IP切换头 34 tunnel = random.randint(1,10000) 35 headers = {"Proxy-Tunnel": str(tunnel)} 36 37 38 39 resp = requests.get(targetUrl, proxies=proxies, headers=headers) 40 41 print resp.status_code 42 print resp.text 43```通过爬虫获取到了这个高温报警信息我们就可以提前做好防护措施,避免因高温导致的中暑等问题。
