序号 | 方法 | 描述 |
---|---|---|
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
HTTP状态码的详细描述请参考:HTTP状态码列表
步骤 | 工具 | |
---|---|---|
1 | 爬取目标网页 | requests |
2 | 提取有用信息 | BeautifulSoup, re |
3 | 保存数据 | csv, txt, json |
本页内容取自Jake Vander Plas的 Whirlwind Tour of Python;相关资料可从GitHub获取。Python正则表达式的完整介绍请参考技术文档。
Character | Description | Character | Description | |
---|---|---|---|---|
"\d" |
Match any digit | "\D" |
Match any non-digit | |
"\s" |
Match any whitespace | "\S" |
Match any non-whitespace | |
"\w" |
Match any alphanumeric char | "\W" |
Match any non-alphanumeric char |
Character | Description | Example |
---|---|---|
? |
Match zero or one repetitions of preceding | "ab?" matches "a" or "ab" |
* |
Match zero or more repetitions of preceding | "ab*" matches "a" , "ab" , "abb" , "abbb" ... |
+ |
Match one or more repetitions of preceding | "ab+" matches "ab" , "abb" , "abbb" ... but not "a" |
{n} |
Match n repetitions of preeeding |
"ab{2}" matches "abb" |
{m,n} |
Match between m and n repetitions of preceding |
"ab{2,3}" matches "abb" or "abbb" |
假设我们已经拥有所有“武汉新冠肺炎疫情动态”页面的标题和链接(保存在“wh_announce_page_url.csv”文件中)
import csv
titleList=[]
urlList=[]
with open('wh_announce_page_url.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
titleList.append(row['title'])
urlList.append(row['urls'])
print(row['title'],row['urls'])
武汉市新冠肺炎疫情动态(2020年3月5日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030609985 武汉市新冠肺炎疫情动态(2020年3月4日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030509963 武汉市新冠肺炎疫情动态(2020年3月3日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030409947 武汉市新冠肺炎疫情动态(2020年3月2日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030309923 武汉市新冠肺炎疫情动态(2020年3月1日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030209901 武汉市新冠肺炎疫情动态(2020年2月29日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030109892 武汉市新冠肺炎疫情动态(2020年2月28日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022909862 武汉市新冠肺炎疫情动态(2020年2月27日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022809843 武汉市新冠肺炎疫情动态(2020年2月26日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022709829 武汉市新冠肺炎疫情动态(2020年2月25日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022609812 武汉市新冠肺炎疫情动态(2020年2月24日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022509791 武汉市新冠肺炎疫情动态(2020年2月23日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022409774 武汉市新冠肺炎疫情动态(2020年2月22日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022309758 武汉市新冠肺炎疫情动态(2020年2月21日) http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020022209739
import requests
from bs4 import BeautifulSoup
headers={'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36'}
r=requests.get(urlList[0],headers=headers)
soup=BeautifulSoup(r.text,'html.parser')
分类 | 分类描述 |
---|---|
报告时间(date) | 报告时间(date) |
新增数据 | 新增确诊数据(new_confirmed) |
新增出院数据(new_released) | |
新增死亡(new_death) | |
新增疑似(new_suspected) | |
累计数据 | 累计确诊(all_confirmed) |
各区累计确诊(confirmed_ja,jh,qk,hy,wc,qs,hs,dxh,cd,jx,hp,xz,hn) | |
累计出院(released) | |
累计死亡(death) | |
现有确诊(confirmed) | |
现有危重(extreme) | |
现有重症(severe) | |
现有疑似(suspected) | |
门诊接诊数据 | 发热(fever) |
首诊(initial) | |
核酸检测数据(pcr) |
print(titleList[1],':',urlList[1])
武汉市新冠肺炎疫情动态(2020年3月4日) : http://wjw.wuhan.gov.cn:80/front/web/showDetail/2020030509963
第一次尝试
import requests
url=urlList[1]
r=requests.get(url)
print(r)
print(r.text)
<Response [406]> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>406</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/> </head> <body> <style type="text/css"> body{margin: 0px;padding: 0px;font-size: 12px;font-family: '微软雅黑';color: #353535;background-color: #efefef;} .brdiv {clear: both;width: 100%;height: 0px;line-height: 0px;padding: 0px;margin: 0px;border: none;background-color: transparent;background-image: none;} .main_div{position: absolute;top: 50%;left: 50%;background-color: #fff;width: 800px;height: auto;transform: translate(-50%, -50%);box-shadow: 2px 5px 5px 2px #dfdfdf;padding-bottom: 20px;} .main_top_div{width: 100%; height: 10px; background-color: #0c8fa5;} .main_image_main_div{margin: 0px auto; text-align: center; padding: 30px 0px; width: 750px; border-bottom: solid 1px #dfdfdf;} .main_image_item{width: 215px;height: 110px;float: left;font-size: 80px;text-align: center;position: relative;color: #0c8fa5;} .main_image_item .main_title_item{width: 100%;height: 30px;float: left;font-size: 15px;font-weight: bold;color: #353535;} .main_image_item .fa-check-circle,.main_image_item .fa-times-circle{font-size: 20px;position: absolute;bottom: 0px;right: 60px;} .main_image_line{ width: 50px;height: 50px;float: left;font-size: 40px;color: #dcdcdc;text-align: center;margin-top: 40px;position: relative;} .main_image_line .fa-check-circle,.main_image_line .fa-times-circle{font-size: 20px;position: absolute;bottom: 19px;left: 16px;} .main_image_item .fa-check-circle,.main_image_line .fa-check-circle{color: #4CAF50;} .main_image_item .fa-times-circle,.main_image_line .fa-times-circle{color: #E91E63;} .code_message{width: 700px;height: auto;margin: 0px auto;padding: 10px 0px;} .code_num{float: left;font-size: 40px;margin-left: 50px;} .code_mes{float: left;font-size: 15px;margin-top: 25px;margin-left: 20px;} .other_message{width: 600px;height: auto;margin: 0px auto;padding: 10px 0px;} .other_title{font-size: 15px;height: 30px;} .other_item{float: left;height: 25px;line-height: 25px;color: #959595;overflow: hidden;} </style> <div class="main_div"> <div class="main_top_div"></div> <div class="main_image_main_div"> <div class="main_image_item"><div class="main_title_item">用户</div><span class="fa fa-desktop"></span></div> <div class="main_image_line"><span class="fa fa-exchange"></span><span class="fa fa-times-circle"></span></div> <div class="main_image_item"><div class="main_title_item">平台</div><span class="fa fa-cloud"></span></div> <div class="main_image_line"><span class="fa fa-exchange"></span><span class="fa fa-check-circle"></span></div> <div class="main_image_item"><div class="main_title_item">源站</div><span class="fa fa-server"></span></div> <div class="brdiv"></div> </div> <div class="code_message"> <div class="code_num">406</div><div class="code_mes">访问被云平台拦截</div><div class="brdiv"></div> </div> <div class="other_message"> <div class="other_title">事件编号:</div><div class="other_item" id="uuid"></div><div class="brdiv"></div> </div> <div class="other_message"> <div class="other_title">可能原因:</div><div class="brdiv"></div> <div class="other_item">1.触发云平台防护规则</div><div class="brdiv"></div> </div> <div class="other_message"> <div class="other_title">访问信息:</div><div class="brdiv"></div> <div class="other_item">1.访问时间: <span id="data_time"></span></div><div class="brdiv"></div> <div class="other_item">2.源IP: <span id="src_ip"></span></div><div class="brdiv"></div> <div class="other_item">3.目的IP: <span id="dst_ip"></span> 目的端口: <span id="dst_port"></span></div><div class="brdiv"></div> <div class="other_item">4.访问地址: <span id="url"></span></div><div class="brdiv"></div> <div class="other_item">5.浏览器UA: <span id="useragent"></span></div><div class="brdiv"></div> </div> </div> <script type="text/javascript"> document.getElementById("data_time").innerHTML = new Date().toLocaleString(); document.getElementById("useragent").innerHTML = navigator.userAgent; var requset_obj = new XMLHttpRequest(); requset_obj.open("GET", window.location.href, false); requset_obj.send(); document.getElementById("uuid").innerHTML = requset_obj.getResponseHeader('uuid'); document.getElementById("url").innerHTML = requset_obj.getResponseHeader('req_uri'); document.getElementById("src_ip").innerHTML = requset_obj.getResponseHeader('user_ip'); document.getElementById("dst_ip").innerHTML = requset_obj.getResponseHeader('node_ip'); document.getElementById("dst_port").innerHTML = requset_obj.getResponseHeader('req_port'); </script> </body> </html>
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36'}
r=requests.get(url,headers=headers)
print(r)
print(r.text)
<Response [200]> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>武汉市卫生健康委员会</title> <meta name="SiteName" content="武汉市卫生健康委员会"> <meta name="SiteDomain" content="wjw.wuhan.gov.cn"> <meta name="SiteIDCode" content="4201000001"> <link href="http://wjw.wuhan.gov.cn:80/css/style_blue.css" rel="stylesheet" type="text/css" /> <link href="http://wjw.wuhan.gov.cn:80/css/reset_blue.css" rel="stylesheet" type="text/css" /> <link href="http://wjw.wuhan.gov.cn:80/css/default_blue.css" rel="stylesheet" type="text/css" /> <link href="http://wjw.wuhan.gov.cn:80/ueditor/third-party/video-js/video-js.min.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="http://wjw.wuhan.gov.cn:80/js/jquery-3.3.1.js"></script> <script type="text/javascript" src="http://wjw.wuhan.gov.cn:80/js/script.js"></script> <script type="text/javascript" src="http://wjw.wuhan.gov.cn:80/js/page-x.js"></script> <script type="text/javascript" src="http://wjw.wuhan.gov.cn:80/ueditor/ueditor.parse.js"></script> <script type="text/javascript" src="http://wjw.wuhan.gov.cn:80/ueditor/third-party/video-js/video.js"></script> <script type="text/javascript"> var url = ""; var re = new RegExp('http') if(re.test(url)) { var answer = confirm("该链接为外部链接,是否跳转?"); if(answer){ var tempwindow=window.open(); // 先打开页面 tempwindow.location=url; // 后更改页面地址 window.history.go(-1); }else{ window.history.go(-1); } } </script> </head> <body id="body" class="backdrop-2"> <div class="header"> <section class="top"> <span style="color: #777; line-height: 40px;"> <script> var enabled = 0; today = new Date(); if (today.getDay() == 0) day = "星期日"; if (today.getDay() == 1) day = "星期一"; if (today.getDay() == 2) day = "星期二"; if (today.getDay() == 3) day = "星期三"; if (today.getDay() == 4) day = "星期四"; if (today.getDay() == 5) day = "星期五"; if (today.getDay() == 6) day = "星期六"; date = "" + (today.getFullYear()) + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日 " + " " + day; document.write(date); </script> </span> <span class="toplj"><a href="http://www.nhc.gov.cn" target="_blank">国家卫生健康委</a><a href="http://www.hbwsjs.gov.cn" target="_blank">湖北省卫生健康委</a><a href="http://www.wuhan.gov.cn" target="_blank">武汉市人民政府</a></span> </section> <div class="logobx"> <a href="http://wjw.wuhan.gov.cn:80"><img class="logo" src="http://wjw.wuhan.gov.cn:80/images/index/logo.png" /></a> <div style="float: right; padding-top: 34px;"> <IFRAME height=70 marginHeight=0 src="http://i.tianqi.com/index.php?c=code&id=38&icon=1&num=3" frameBorder=0 width=420 allowTransparency name=weather_inc marginWidth=0 scrolling=no></IFRAME> </div> </div> <nav> <a href="http://wjw.wuhan.gov.cn:80" class="nav0">首 页</a> <a href="http://wjw.wuhan.gov.cn:80/front/web/main/xwzx.html" class="nav1">新闻中心</a> <a href="http://wjw.wuhan.gov.cn:80/front/web/main/zwgk.html" class="nav2">政务公开</a> <a href="http://zwfw.hubei.gov.cn/lawguide/dept/qzqd.jspx?department﹦11420100010889245Q" class="nav3">办事服务</a> <a href="http://wjw.wuhan.gov.cn:80/front/web/main/jlhd.html" class="nav4">交流互动</a> <a href="http://wjw.wuhan.gov.cn:80/front/web/main/ztzl.html" class="nav5">专题专栏</a> <div class="search"> <form action="http://wjw.wuhan.gov.cn:80/front/web/search" method="post"> <div class="FL" style="width: 160px; height: 30px;"> <input type="text" style="width: 150px; height: 30px; line-height: 30px;" name="title" id="inpKey" value="" required="required" placeholder="请输入搜索内容" /> </div> <input class="FM" type="image" style="height: 32px;" src="http://wjw.wuhan.gov.cn:80/images/index/search.png" /> </form> </div> </nav> </div><div class="main" id=""> <div class="Bszn"> <div class="wldH"> <div style="display: none" id="chnlName"></div> <iframe frameborder="0" scrolling="no" height="38px" width="100%" src="/front/web/getArtTitle/803"> </iframe> </div> <div class="showZxft"> <div class="showZxftH" style="border-bottom: 1px solid #ccc"> <h1 style="font-weight: bold; color: #0d76b0; font-size: 23px;" id="detailTitle">武汉市新冠肺炎疫情动态(2020年3月4日)</h1> <h1 style="padding-top: 15px; font-weight: bold; color: #0d76b0; font-size: 16px;"></h1> <h1 style="font-weight: bold; color: #0d76b0; font-size: 17px;" id="detailTitle"></h1> <h1 style="padding-top: 15px; font-weight: bold; color: #0d76b0; font-size: 16px;"></h1> <h2> 发布机构: 武汉市卫生健康委员会 | 发布时间: 2020-03-05 15:25:42 | 点击数: <span id="pvCount">7506</span> | 字号: <a href="javascript:chF(0);">大</a> <a href="javascript:chF(1);">中</a> <a href="javascript:chF(2);">小</a> </h2> <div id="detailContent" style="margin-top: 20px;"> <div class="TRS_Editor"><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size:21px;font-family:仿宋_GB2312">2020</span><span style="font-size: 21px;font-family:仿宋_GB2312">年3月4日</span><span style="font-size:21px;font-family:仿宋_GB2312">0-24</span><span style="font-size: 21px;font-family:仿宋_GB2312">时,全市新增确诊病例131例,全市新增出院病例1426例,新增死亡病例23例,新增疑似病例61例。</span></p><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size:21px;font-family:仿宋_GB2312">截至3月4日24时,全市累计报告确诊病例49671例。其中(大疫情网按行政区统计):江岸区4352例、江汉区7344例、硚口区7305例、汉阳区3605例、武昌区8315例、青山区2985例、洪山区5109例、东西湖区2604例、蔡甸区1993例、江夏区1704例、黄陂区1780例、新洲区1023例、武汉开发区(汉南)1552例。累计治愈出院26316人,累计死亡2305人。全市现有确诊病例21050人(危重894人,重症4448人),现有疑似病例247例。</span></p><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size: 21px; font-family: 仿宋_GB2312;">3</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">月3日</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">18</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">时-3月4日18时,全市发热门诊接诊1705人次,较前日减少122人次,其中首诊1062人。3月4日当日,全市核酸检测23136人。</span></p><p><br/></p></div> </div> <div class="showprint"> <input type="image" src="http://wjw.wuhan.gov.cn:80/images/index/show_11.jpg" onClick="javascript:window.print()" /> <input type="image" src="http://wjw.wuhan.gov.cn:80/images/index/show_13.jpg" onClick="javascript:window.close()" /> </div> </div> </div> </div> </div> <div class="footer" style="height: 290px;"> <section class="top"> <div class="index5"> <select style="cursor: pointer;" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0"> <option>-副省级城市卫生健康委-</option> <option value="http://www.hrbwsj.gov.cn/" title="哈尔滨市 ">·哈尔滨市 </option> <option value="http://wjw.changchun.gov.cn/" title="长春市 ">·长春市 </option> <option value="http://www.sywsnet.com/swsj/" title="沈阳市">·沈阳市</option> <option value="http://www.hfpcdlm.dl.gov.cn" title="大连市 ">·大连市 </option> <option value="http://www.jnhfpc.gov.cn/" title="济南市">·济南市</option> <option value="http://wsjsw.qingdao.gov.cn" title="青岛市">·青岛市</option> <option value="http://www.njh.gov.cn/" title="南京市">·南京市</option> <option value="http://www.hzwsjsw.gov.cn/" title="杭州市">·杭州市</option> <option value="http://www.nbwjw.gov.cn/" title="宁波市 ">·宁波市 </option> <option value="http://hfpc.xm.gov.cn/" title="厦门市 ">·厦门市 </option> <option value="http://www.gzmed.gov.cn" title="广州市">·广州市</option> <option value="http://www.szhfpc.gov.cn" title="深圳市">·深圳市</option> <option value="http://cdwjw.chengdu.gov.cn/" title="成都市 ">·成都市 </option> <option value="http://xawjw.xa.gov.cn/ptl/index.html" title="西安市">·西安市</option> </select> <select name="" style="cursor: pointer;" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0"> <option>-省内各市州卫生健康委-</option> <option value="http://wjw.wuhan.gov.cn/" title="武汉市">·武汉市</option> <option value="http://wjw.xiangyang.gov.cn/" title="襄阳市">·襄阳市</option> <option value="http://wjw.yichang.gov.cn/" title="宜昌市">·宜昌市</option> <option value="http://www.hswsjsw.gov.cn/" title="黄石市">·黄石市</option> <option value="http://wjw.shiyan.gov.cn/" title="十堰市">·十堰市</option> <option value="http://www.hbjzpop.gov.cn/" title="荆州市 ">·荆州市 </option> <option value="http://wjw.jingmen.gov.cn/" title="荆门市">·荆门市</option> <option value="http://wjw.xiaogan.gov.cn/" title="孝感市 ">·孝感市 </option> <option value="http://wjw.hg.gov.cn/" title="黄冈市">·黄冈市</option> <option value="http://wjw.xianning.gov.cn/" title="咸宁市 ">·咸宁市 </option> <option value="http://wjj.enshi.gov.cn/" title="恩施州 ">·恩施州 </option> <option value="http://wjw.xiantao.gov.cn/" title="仙桃市 ">·仙桃市 </option> <option value="http://wjw.suizhou.gov.cn/" title="随州市 ">·随州市 </option> <option value="http://www.hbqj.gov.cn/wsjs/" title="潜江市 ">·潜江市 </option> <option value="http://wjw.ezhou.gov.cn/?AspxAutoDetectCookieSupport﹦1" title="鄂州市 ">·鄂州市 </option> </select> <select name="" style="cursor: pointer;" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0"> <option>-卫生健康委-</option> <option value=" http://www.jiangan.gov.cn/bmzl/qwjw/ldjj_3730/" title="江岸区">·江岸区</option> <option value="http://www.jianghan.gov.cn/html/gzbm/qwjw/" title="江汉区">·江汉区</option> <option value=" http://www.qiaokou.gov.cn/xxgk/gkxx/whsqkqwshjhsywyh/" title="硚口区">·硚口区</option> <option value="http://www.hanyang.gov.cn/list-817.html" title="汉阳区">·汉阳区</option> <option value="http://www.wuchang.gov.cn/wcqzfzz/zwgk1/zfgzjg/qwjw58/614493/index.html" title="武昌区">·武昌区</option> <option value=" http://xxgk.qingshan.gov.cn/xxgkml/zzjg/" title="青山区(化工区)">·青山区(化工区)</option> <option value="http://www.hongshan.gov.cn/qwjw/jgsz/" title="洪山区">·洪山区</option> <option value="http://zwgk.caidian.gov.cn/info/nIndex.jsp?node_id﹦GKwjw" title="蔡甸区">·蔡甸区</option> <option value="http://www.jiangxia.gov.cn/qwshjhsywyh/index.jhtml" title="江夏区">·江夏区</option> <option value="http://www.dxh.gov.cn/html/zwgk/qzfxxgkml/zzjg/qzfbm/2016/0718/40939.shtml" title="东西湖区">·东西湖区</option> <option value="http://www.huangpi.gov.cn/zwgk/xxgkzl/xxgkml/jbxxgk/jgzz/201008/t20100825_54093.html" title="黄陂区">·黄陂区</option> <option value="http://www.whxinzhou.gov.cn/xxgk/xxgkdw/201412/t20141212_25002.shtml" title="新洲区">·新洲区</option> <option value="http://www.wedz.gov.cn/jgsz/index.jhtml" title="经开区(汉南区)">·经开区(汉南区)</option> <option value="http://www.wehdz.gov.cn/gk/jggk/nsjg/3390.htm" title="东湖高新区">·东湖高新区</option> <option value=" http://www.whdonghu.gov.cn/e/action/ShowInfo.php?classid﹦24&id﹦434" title="东湖风景区">·东湖风景区</option> </select> <select name="" style="cursor: pointer;" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0"> <option>-委属医疗机构-</option> <option value="http://www.whyyy.com.cn/" title="市第一医院 ">·市第一医院 </option> <option value="http://www.zxhospital.com/" title="市中心医院 ">·市中心医院 </option> <option value="http://www.whsyy.net/" title="市第三医院 ">·市第三医院 </option> <option value="http://www.zgwhfe.com/" title="武汉儿童医院 ">·武汉儿童医院 </option> <option value="http://www.wdyy.com/" title="市武东医院 ">·市武东医院 </option> <option value="http://www.whtcm.com/" title="市中医医院 ">·市中医医院 </option> <option value="http://www.whjy.com.cn/" title="市金银潭医院">·市金银潭医院</option> <option value="http://www.chinapsy.com/" title="市精神卫生中心 ">·市精神卫生中心 </option> <option value="http://www.whwcyy.com/" title="市武昌医院 ">·市武昌医院 </option> <option value="http://www.purenyy.com/" title="市普仁医院 ">·市普仁医院 </option> <option value="http://www.whjhb.org/" title="市肺科医院 ">·市肺科医院 </option> <option value="http://www.puaihospital.net/" title="市第四医院">·市第四医院</option> <option value="http://www.whsdhyy.com/" title="市东湖医院">·市东湖医院</option> </select> <select name="" style="cursor: pointer;" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0"> <option>-委属公卫及社会服务机构-</option> <option value="http://www.whcdc.org/" title="市疾控中心 ">·市疾控中心 </option> <option value="http://whwjjd.org.cn/index.shtml" title="市卫生计生执法督察总队">·市卫生计生执法督察总队</option> <option value="http://www.whpfs.cn/" title="市皮防院">·市皮防院</option> <option value="http://www.whzfy.org.cn/" title="市职防院">·市职防院</option> <option value="http://www.whblood.org.cn" title="武汉血液中心">·武汉血液中心</option> <option value="http://whyks.org.cn/" title="市卫生计生信息中心">·市卫生计生信息中心</option> </select> </div> </section> <div class="middle"> <hgroup class="bottom"> <a style="color: white;" href="http://wjw.wuhan.gov.cn:80/front/web/wzlmdt">网站地图</a> 主办:武汉市卫生健康委员会 承办:武汉市卫生健康委员会办公室 <BR> 地址:武汉市江岸区江汉北路20号 电话:027-12320 邮编:430014 <br /> <a style="color: white;" target="_blank" href="http://www.beian.miit.gov.cn/" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;">鄂ICP备19006884号-2</a> <a style="color: white;" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=42010202000851" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;">鄂公网安备42010202000851号</a> 政府网站标识码:4201000001 <br />您是第 <span id="siteCount"></span>19110511 位访问者<BR> <img src="http://wjw.wuhan.gov.cn:80/images/index/red_error.png" width="80" height="80" /> <script id="_jiucuo_" sitecode='4201000001' src='http://pucha.kaipuyun.cn/exposure/jiucuo.js'></script> <div> <a href="http://www.creditchina.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xyzg.png"></a><a href="http://www.hbcredit.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xyhb.png"></a><a href="https://www.creditwh.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xywh.png"></a> </div> </hgroup> <!-- 第三方统计代码 --> <div hidden> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?ac084bfb4d82ed021aed64d30fe62ff0"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <!-- 第三方分享代码 --> <a class="bshareDiv" href="http://www.bshare.cn/share">分享按钮</a> <script type="text/javascript" charset="utf-8" src="http://static.bshare.cn/b/buttonLite.js#uuid=&style=3&fs=4&textcolor=#fff&bgcolor=#06C&text=分享到"></script> <!--<script> window._bd_share_config = { "common" : { "bdSnsKey" : {}, "bdText" : "", "bdMini" : "2", "bdMiniList" : false, "bdPic" : "", "bdStyle" : "0", "bdSize" : "16" }, "slide" : { "type" : "slide", "bdImg" : "2", "bdPos" : "right", "bdTop" : "100" } }; with (document) 0[(getElementsByTagName('head')[0] || body) .appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)]; </script>--> <script> $('area').click(function() { if (this.href.indexOf(document.domain) < 0) { return confirm('该链接为外部链接,是否继续?'); } }); </script> </div></body> </html>
from bs4 import BeautifulSoup
soup=BeautifulSoup(r.text,'html.parser')
soup
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type"/> <title>武汉市卫生健康委员会</title> <meta content="武汉市卫生健康委员会" name="SiteName"/> <meta content="wjw.wuhan.gov.cn" name="SiteDomain"/> <meta content="4201000001" name="SiteIDCode"/> <link href="http://wjw.wuhan.gov.cn:80/css/style_blue.css" rel="stylesheet" type="text/css"/> <link href="http://wjw.wuhan.gov.cn:80/css/reset_blue.css" rel="stylesheet" type="text/css"/> <link href="http://wjw.wuhan.gov.cn:80/css/default_blue.css" rel="stylesheet" type="text/css"/> <link href="http://wjw.wuhan.gov.cn:80/ueditor/third-party/video-js/video-js.min.css" rel="stylesheet" type="text/css"/> <script src="http://wjw.wuhan.gov.cn:80/js/jquery-3.3.1.js" type="text/javascript"></script> <script src="http://wjw.wuhan.gov.cn:80/js/script.js" type="text/javascript"></script> <script src="http://wjw.wuhan.gov.cn:80/js/page-x.js" type="text/javascript"></script> <script src="http://wjw.wuhan.gov.cn:80/ueditor/ueditor.parse.js" type="text/javascript"></script> <script src="http://wjw.wuhan.gov.cn:80/ueditor/third-party/video-js/video.js" type="text/javascript"></script> <script type="text/javascript"> var url = ""; var re = new RegExp('http') if(re.test(url)) { var answer = confirm("该链接为外部链接,是否跳转?"); if(answer){ var tempwindow=window.open(); // 先打开页面 tempwindow.location=url; // 后更改页面地址 window.history.go(-1); }else{ window.history.go(-1); } } </script> </head> <body class="backdrop-2" id="body"> <div class="header"> <section class="top"> <span style="color: #777; line-height: 40px;"> <script> var enabled = 0; today = new Date(); if (today.getDay() == 0) day = "星期日"; if (today.getDay() == 1) day = "星期一"; if (today.getDay() == 2) day = "星期二"; if (today.getDay() == 3) day = "星期三"; if (today.getDay() == 4) day = "星期四"; if (today.getDay() == 5) day = "星期五"; if (today.getDay() == 6) day = "星期六"; date = "" + (today.getFullYear()) + "年" + (today.getMonth() + 1) + "月" + today.getDate() + "日 " + " " + day; document.write(date); </script> </span> <span class="toplj"><a href="http://www.nhc.gov.cn" target="_blank">国家卫生健康委</a><a href="http://www.hbwsjs.gov.cn" target="_blank">湖北省卫生健康委</a><a href="http://www.wuhan.gov.cn" target="_blank">武汉市人民政府</a></span> </section> <div class="logobx"> <a href="http://wjw.wuhan.gov.cn:80"><img class="logo" src="http://wjw.wuhan.gov.cn:80/images/index/logo.png"/></a> <div style="float: right; padding-top: 34px;"> <iframe allowtransparency="" frameborder="0" height="70" marginheight="0" marginwidth="0" name="weather_inc" scrolling="no" src="http://i.tianqi.com/index.php?c=code&id=38&icon=1&num=3" width="420"></iframe> </div> </div> <nav> <a class="nav0" href="http://wjw.wuhan.gov.cn:80">首 页</a> <a class="nav1" href="http://wjw.wuhan.gov.cn:80/front/web/main/xwzx.html">新闻中心</a> <a class="nav2" href="http://wjw.wuhan.gov.cn:80/front/web/main/zwgk.html">政务公开</a> <a class="nav3" href="http://zwfw.hubei.gov.cn/lawguide/dept/qzqd.jspx?department﹦11420100010889245Q">办事服务</a> <a class="nav4" href="http://wjw.wuhan.gov.cn:80/front/web/main/jlhd.html">交流互动</a> <a class="nav5" href="http://wjw.wuhan.gov.cn:80/front/web/main/ztzl.html">专题专栏</a> <div class="search"> <form action="http://wjw.wuhan.gov.cn:80/front/web/search" method="post"> <div class="FL" style="width: 160px; height: 30px;"> <input id="inpKey" name="title" placeholder="请输入搜索内容" required="required" style="width: 150px; height: 30px; line-height: 30px;" type="text" value=""/> </div> <input class="FM" src="http://wjw.wuhan.gov.cn:80/images/index/search.png" style="height: 32px;" type="image"/> </form> </div> </nav> </div><div class="main" id=""> <div class="Bszn"> <div class="wldH"> <div id="chnlName" style="display: none"></div> <iframe frameborder="0" height="38px" scrolling="no" src="/front/web/getArtTitle/803" width="100%"> </iframe> </div> <div class="showZxft"> <div class="showZxftH" style="border-bottom: 1px solid #ccc"> <h1 id="detailTitle" style="font-weight: bold; color: #0d76b0; font-size: 23px;">武汉市新冠肺炎疫情动态(2020年3月4日)</h1> <h1 style="padding-top: 15px; font-weight: bold; color: #0d76b0; font-size: 16px;"></h1> <h1 id="detailTitle" style="font-weight: bold; color: #0d76b0; font-size: 17px;"></h1> <h1 style="padding-top: 15px; font-weight: bold; color: #0d76b0; font-size: 16px;"></h1> <h2> 发布机构: 武汉市卫生健康委员会 | 发布时间: 2020-03-05 15:25:42 | 点击数: <span id="pvCount">7506</span> | 字号: <a href="javascript:chF(0);">大</a> <a href="javascript:chF(1);">中</a> <a href="javascript:chF(2);">小</a> </h2> <div id="detailContent" style="margin-top: 20px;"> <div class="TRS_Editor"><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size:21px;font-family:仿宋_GB2312">2020</span><span style="font-size: 21px;font-family:仿宋_GB2312">年3月4日</span><span style="font-size:21px;font-family:仿宋_GB2312">0-24</span><span style="font-size: 21px;font-family:仿宋_GB2312">时,全市新增确诊病例131例,全市新增出院病例1426例,新增死亡病例23例,新增疑似病例61例。</span></p><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size:21px;font-family:仿宋_GB2312">截至3月4日24时,全市累计报告确诊病例49671例。其中(大疫情网按行政区统计):江岸区4352例、江汉区7344例、硚口区7305例、汉阳区3605例、武昌区8315例、青山区2985例、洪山区5109例、东西湖区2604例、蔡甸区1993例、江夏区1704例、黄陂区1780例、新洲区1023例、武汉开发区(汉南)1552例。累计治愈出院26316人,累计死亡2305人。全市现有确诊病例21050人(危重894人,重症4448人),现有疑似病例247例。</span></p><p style="text-indent: 43px; line-height: 3em; text-align: justify;"><span style="font-size: 21px; font-family: 仿宋_GB2312;">3</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">月3日</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">18</span><span style="font-size: 21px; font-family: 仿宋_GB2312;">时-3月4日18时,全市发热门诊接诊1705人次,较前日减少122人次,其中首诊1062人。3月4日当日,全市核酸检测23136人。</span></p><p><br/></p></div> </div> <div class="showprint"> <input onclick="javascript:window.print()" src="http://wjw.wuhan.gov.cn:80/images/index/show_11.jpg" type="image"/> <input onclick="javascript:window.close()" src="http://wjw.wuhan.gov.cn:80/images/index/show_13.jpg" type="image"/> </div> </div> </div> </div> </div> <div class="footer" style="height: 290px;"> <section class="top"> <div class="index5"> <select onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0" style="cursor: pointer;"> <option>-副省级城市卫生健康委-</option> <option title="哈尔滨市 " value="http://www.hrbwsj.gov.cn/">·哈尔滨市 </option> <option title="长春市 " value="http://wjw.changchun.gov.cn/">·长春市 </option> <option title="沈阳市" value="http://www.sywsnet.com/swsj/">·沈阳市</option> <option title="大连市 " value="http://www.hfpcdlm.dl.gov.cn">·大连市 </option> <option title="济南市" value="http://www.jnhfpc.gov.cn/">·济南市</option> <option title="青岛市" value="http://wsjsw.qingdao.gov.cn">·青岛市</option> <option title="南京市" value="http://www.njh.gov.cn/">·南京市</option> <option title="杭州市" value="http://www.hzwsjsw.gov.cn/">·杭州市</option> <option title="宁波市 " value="http://www.nbwjw.gov.cn/">·宁波市 </option> <option title="厦门市 " value="http://hfpc.xm.gov.cn/">·厦门市 </option> <option title="广州市" value="http://www.gzmed.gov.cn">·广州市</option> <option title="深圳市" value="http://www.szhfpc.gov.cn">·深圳市</option> <option title="成都市 " value="http://cdwjw.chengdu.gov.cn/">·成都市 </option> <option title="西安市" value="http://xawjw.xa.gov.cn/ptl/index.html">·西安市</option> </select> <select name="" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0" style="cursor: pointer;"> <option>-省内各市州卫生健康委-</option> <option title="武汉市" value="http://wjw.wuhan.gov.cn/">·武汉市</option> <option title="襄阳市" value="http://wjw.xiangyang.gov.cn/">·襄阳市</option> <option title="宜昌市" value="http://wjw.yichang.gov.cn/">·宜昌市</option> <option title="黄石市" value="http://www.hswsjsw.gov.cn/">·黄石市</option> <option title="十堰市" value="http://wjw.shiyan.gov.cn/">·十堰市</option> <option title="荆州市 " value="http://www.hbjzpop.gov.cn/">·荆州市 </option> <option title="荆门市" value="http://wjw.jingmen.gov.cn/">·荆门市</option> <option title="孝感市 " value="http://wjw.xiaogan.gov.cn/">·孝感市 </option> <option title="黄冈市" value="http://wjw.hg.gov.cn/">·黄冈市</option> <option title="咸宁市 " value="http://wjw.xianning.gov.cn/">·咸宁市 </option> <option title="恩施州 " value="http://wjj.enshi.gov.cn/">·恩施州 </option> <option title="仙桃市 " value="http://wjw.xiantao.gov.cn/">·仙桃市 </option> <option title="随州市 " value="http://wjw.suizhou.gov.cn/">·随州市 </option> <option title="潜江市 " value="http://www.hbqj.gov.cn/wsjs/">·潜江市 </option> <option title="鄂州市 " value="http://wjw.ezhou.gov.cn/?AspxAutoDetectCookieSupport﹦1">·鄂州市 </option> </select> <select name="" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0" style="cursor: pointer;"> <option>-卫生健康委-</option> <option title="江岸区" value=" http://www.jiangan.gov.cn/bmzl/qwjw/ldjj_3730/">·江岸区</option> <option title="江汉区" value="http://www.jianghan.gov.cn/html/gzbm/qwjw/">·江汉区</option> <option title="硚口区" value=" http://www.qiaokou.gov.cn/xxgk/gkxx/whsqkqwshjhsywyh/">·硚口区</option> <option title="汉阳区" value="http://www.hanyang.gov.cn/list-817.html">·汉阳区</option> <option title="武昌区" value="http://www.wuchang.gov.cn/wcqzfzz/zwgk1/zfgzjg/qwjw58/614493/index.html">·武昌区</option> <option title="青山区(化工区)" value=" http://xxgk.qingshan.gov.cn/xxgkml/zzjg/">·青山区(化工区)</option> <option title="洪山区" value="http://www.hongshan.gov.cn/qwjw/jgsz/">·洪山区</option> <option title="蔡甸区" value="http://zwgk.caidian.gov.cn/info/nIndex.jsp?node_id﹦GKwjw">·蔡甸区</option> <option title="江夏区" value="http://www.jiangxia.gov.cn/qwshjhsywyh/index.jhtml">·江夏区</option> <option title="东西湖区" value="http://www.dxh.gov.cn/html/zwgk/qzfxxgkml/zzjg/qzfbm/2016/0718/40939.shtml">·东西湖区</option> <option title="黄陂区" value="http://www.huangpi.gov.cn/zwgk/xxgkzl/xxgkml/jbxxgk/jgzz/201008/t20100825_54093.html">·黄陂区</option> <option title="新洲区" value="http://www.whxinzhou.gov.cn/xxgk/xxgkdw/201412/t20141212_25002.shtml">·新洲区</option> <option title="经开区(汉南区)" value="http://www.wedz.gov.cn/jgsz/index.jhtml">·经开区(汉南区)</option> <option title="东湖高新区" value="http://www.wehdz.gov.cn/gk/jggk/nsjg/3390.htm">·东湖高新区</option> <option title="东湖风景区" value=" http://www.whdonghu.gov.cn/e/action/ShowInfo.php?classid﹦24&id﹦434">·东湖风景区</option> </select> <select name="" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0" style="cursor: pointer;"> <option>-委属医疗机构-</option> <option title="市第一医院 " value="http://www.whyyy.com.cn/">·市第一医院 </option> <option title="市中心医院 " value="http://www.zxhospital.com/">·市中心医院 </option> <option title="市第三医院 " value="http://www.whsyy.net/">·市第三医院 </option> <option title="武汉儿童医院 " value="http://www.zgwhfe.com/">·武汉儿童医院 </option> <option title="市武东医院 " value="http://www.wdyy.com/">·市武东医院 </option> <option title="市中医医院 " value="http://www.whtcm.com/">·市中医医院 </option> <option title="市金银潭医院" value="http://www.whjy.com.cn/">·市金银潭医院</option> <option title="市精神卫生中心 " value="http://www.chinapsy.com/">·市精神卫生中心 </option> <option title="市武昌医院 " value="http://www.whwcyy.com/">·市武昌医院 </option> <option title="市普仁医院 " value="http://www.purenyy.com/">·市普仁医院 </option> <option title="市肺科医院 " value="http://www.whjhb.org/">·市肺科医院 </option> <option title="市第四医院" value="http://www.puaihospital.net/">·市第四医院</option> <option title="市东湖医院" value="http://www.whsdhyy.com/">·市东湖医院</option> </select> <select name="" onchange="if(confirm('该链接为外部链接,是否继续?')){window.open(this.options[this.selectedIndex].value)};this.selectedIndex=0" style="cursor: pointer;"> <option>-委属公卫及社会服务机构-</option> <option title="市疾控中心 " value="http://www.whcdc.org/">·市疾控中心 </option> <option title="市卫生计生执法督察总队" value="http://whwjjd.org.cn/index.shtml">·市卫生计生执法督察总队</option> <option title="市皮防院" value="http://www.whpfs.cn/">·市皮防院</option> <option title="市职防院" value="http://www.whzfy.org.cn/">·市职防院</option> <option title="武汉血液中心" value="http://www.whblood.org.cn">·武汉血液中心</option> <option title="市卫生计生信息中心" value="http://whyks.org.cn/">·市卫生计生信息中心</option> </select> </div> </section> <div class="middle"> <hgroup class="bottom"> <a href="http://wjw.wuhan.gov.cn:80/front/web/wzlmdt" style="color: white;">网站地图</a> 主办:武汉市卫生健康委员会 承办:武汉市卫生健康委员会办公室 <br/> 地址:武汉市江岸区江汉北路20号 电话:027-12320 邮编:430014 <br> <a href="http://www.beian.miit.gov.cn/" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;" target="_blank">鄂ICP备19006884号-2</a> <a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=42010202000851" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;" target="_blank">鄂公网安备42010202000851号</a> 政府网站标识码:4201000001 <br/>您是第 <span id="siteCount"></span>19110511 位访问者<br/> <img height="80" src="http://wjw.wuhan.gov.cn:80/images/index/red_error.png" width="80"/> <script id="_jiucuo_" sitecode="4201000001" src="http://pucha.kaipuyun.cn/exposure/jiucuo.js"></script> <div> <a href="http://www.creditchina.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xyzg.png"/></a><a href="http://www.hbcredit.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xyhb.png"/></a><a href="https://www.creditwh.gov.cn/" target="_blank"><img src="http://www.wuhan.gov.cn/newimages/xywh.png"/></a> </div> </br></hgroup> <!-- 第三方统计代码 --> <div hidden=""> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?ac084bfb4d82ed021aed64d30fe62ff0"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> <!-- 第三方分享代码 --> <a class="bshareDiv" href="http://www.bshare.cn/share">分享按钮</a> <script charset="utf-8" src="http://static.bshare.cn/b/buttonLite.js#uuid=&style=3&fs=4&textcolor=#fff&bgcolor=#06C&text=分享到" type="text/javascript"></script> <!--<script> window._bd_share_config = { "common" : { "bdSnsKey" : {}, "bdText" : "", "bdMini" : "2", "bdMiniList" : false, "bdPic" : "", "bdStyle" : "0", "bdSize" : "16" }, "slide" : { "type" : "slide", "bdImg" : "2", "bdPos" : "right", "bdTop" : "100" } }; with (document) 0[(getElementsByTagName('head')[0] || body) .appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)]; </script>--> <script> $('area').click(function() { if (this.href.indexOf(document.domain) < 0) { return confirm('该链接为外部链接,是否继续?'); } }); </script> </div></div></body> </html>
采集新增数据
import re
content=soup.p.get_text()
content
'2020年3月4日0-24时,全市新增确诊病例131例,全市新增出院病例1426例,新增死亡病例23例,新增疑似病例61例。'
result=re.findall('(\d+)例',content)
result
['131', '1426', '23', '61']
采集累计数据
content=soup.p.next_sibling.get_text()
print(content)
截至3月4日24时,全市累计报告确诊病例49671例。其中(大疫情网按行政区统计):江岸区4352例、江汉区7344例、硚口区7305例、汉阳区3605例、武昌区8315例、青山区2985例、洪山区5109例、东西湖区2604例、蔡甸区1993例、江夏区1704例、黄陂区1780例、新洲区1023例、武汉开发区(汉南)1552例。累计治愈出院26316人,累计死亡2305人。全市现有确诊病例21050人(危重894人,重症4448人),现有疑似病例247例。
result=re.findall('(\d+)例',content)
print(result)
['49671', '4352', '7344', '7305', '3605', '8315', '2985', '5109', '2604', '1993', '1704', '1780', '1023', '1552', '247']
result=re.findall('(\d+)人',content)
print(result)
['26316', '2305', '21050', '894', '4448']
发热门诊数据
content=soup.p.next_sibling.next_sibling.get_text()
print(content)
3月3日18时-3月4日18时,全市发热门诊接诊1705人次,较前日减少122人次,其中首诊1062人。3月4日当日,全市核酸检测23136人。
result=re.findall('(\d+)人',content)
print(result)
['1705', '122', '1062', '23136']
result.pop(1)
print(result)
['1705', '1062', '23136']
import csv
item=['date','new_confirmed','new_released','new_death','new_suspected','all_confirmed',
'ja','jh','qk','hy','wc','qs','hs','dxh','cd','jx','hp','xz','hn','suspected',
'released','death','confirmed','extreme','severe','fever','initial','pcr']
with open('covid-19-wh-daily.csv','w',newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(item)
for url in urlList:
# 报告日期
item=[titleList[urlList.index(url)][12:-1]]
r=requests.get(url,headers=headers)
soup=BeautifulSoup(r.text,'html.parser')
# 新增数据
content=soup.p.get_text()
item+=re.findall('(\d+)例',content)
# 累计数据
content=soup.p.next_sibling.get_text()
item+=re.findall('(\d+)例',content)
item+=re.findall('(\d+)人',content)
# 门诊接诊数据
content=soup.p.next_sibling.next_sibling.get_text()
result=re.findall('(\d+)人',content)
result.pop(1)
item+=result
writer.writerow(item)