通过python获取甲流分布数据
近期,多地学校出现因甲流导致的班级停课,儿科甲流患者就诊量呈数倍增长。此轮甲流为何如此严重?感染甲流之后会出现哪些症状
经过专家的介绍甲流之所以这么严重有这些原因导致的。一、疫情完全放开后很多孩子不戴口罩了,预防流感的作用会下降。二是“免疫债”的偿还,免疫债又称免疫差距。指实施NPIs (戴口罩、保持手卫生、保持社交距离等)后人群病原体免疫刺激缺乏,易感人群增加导致群体免疫水平较疫情前下降。孩子免疫系统的发育是要有适当的病原来进行刺激的,疫情期间一直戴口罩,局部的呼吸道的免疫力是降低的,摘下口罩后会比原来更容易感染呼吸道疾病。
伴随着甲流病人数猛增,群众对于这一病症重视度也在增加,不仅有关甲流的搜索指数在增加,并且因为甲流的爆发重现了抢药高潮。
疫情期间的时候分享了如何利用python爬虫疫情数据的博客,今天我们同样的操作来获取下现在甲流感染的数据
爬取思路从以下几个方面进行分析,数据来源于:https://www.baidu.com/
1、分析网页的网络数据,取得请求头,并用python的requests包进行解析和读取。
2、分析解析出的包,进行提取和操作
3、将数据提出并存到数据库
涉及到的知识点:Python的爬取,目标网站的反爬
思路差不多就是这些,因为有反爬,所以在爬取过程中错了反爬措施,基本的就是解决方案就是User-Agent 用户代理的添加和代理的使用,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。
User-Agent最好使用真实库,代理最好也是高效的,Referer的来源可以伪装成百度搜索来的。
Mozilla/4.0 (compatible; MSIE 4.0; windows Me; Trident/4.0; SV1; .net CLR 1.0.3705; .NET CLR 3.0.04320; msn OptimizedIE8;ZHCN)
Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 5.1; Trident/4.0; Maxthon; .NET CLR 3.0.04320; msn OptimizedIE8;ZHCN)
Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; PPC; 240x320) Opera 8.65 [zh-cn]
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QIHU 360EE) ; InfoPath.2; .NET CLR 2.0.50727)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Foxy/2; .NET CLR 2.0.50727; SE 2.x)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727; 360SE)
需要其他版本的UA库,可以找亿牛云。
爬虫如何添加UA:
class ProxyMiddleware(object):
def process_request(self, request, spider):
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "passWord"
request.meta['proxy'] = "Http://{0}:{1}".fORMat(proxyHost,proxyPort)
# 添加验证头
encoded_user_pass = base64ify(proxyUser + ":" + proxyPass)
request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass
# 设置IP切换头(根据需求)
tunnel = random.randint(1,10000)
request.headers['Proxy-Tunnel'] = str(tunnel)
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWEBKit/537.36 (Khtml, like Gecko) Chrome/70.0.1276.73 Safari/537.36', 'Referer':'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=nike'}
response = requests.get(url=url, headers=headers)
cookie的获取
import requests
class Crawler():
def getCookie(self):
response = requests.get(self.url)
cookie_value = ''
for key,value in response.cookies.items():
cookie_value += key + '=' + value + ';'
self.headers['Cookie'] = cookie_value
到此这篇关于通过python获取甲流分布数据的文章就介绍到这了,更多相关python获取甲流分布数据内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章