python爬取疫情_用Python爬取新型肺炎疫情

(该文章同步自个人csdn博客)

最近新型肺炎闹得很厉害,于是我就自己写了一个爬虫,爬取最新疫情的情况。

什么是爬虫?

爬虫也就是网络蜘蛛,是一种按照一定的规则,自动爬取万维网的信息的程序或者脚本。

它是怎么工作的?

其实就是通过脚本,向服务器发起访问请求,然后得到服务器返回的结果后,就会返回内容。如果还不明白的话,可以看一下小品:

用户:爬虫,去给我爬取网站上的内容!

爬虫:好的。

(爬虫找到服务器)

爬虫:我能获取你们网页上的内容吗?

服务器:好的,请稍后。

(爬虫得到了用户需要的内容)

爬虫:用户,我爬取到了内容。

用户:干得好!

当然这是在服务器没有使用反爬措施的情况下。如果服务器使用了反爬措施的话,就会出现以下情况:

爬虫:我能获取你们网页上的内容吗?

服务器:滚!

这时就要使用请求头(也就是使用user-agent),让服务器以为是浏览器要获取内容,而不是爬虫,就放行了。

接下来是操作时间

咱们回到正题上,如果要爬取网页上的内容,我们要用到的包如下:

urllib

re

爬取的地址如下:

http://m.medsci.cn/wh.asp

当然你其他网站可以(最好是实时更新的)

接下来,上代码!

# 上次网易那个爬取数据过旧,这次换了个梅斯的页面

(小电视下面就是代码)

# 上次网易那个爬取数据过旧,这次换了个梅斯的页面

# 导入模块

from urllib import request

import re

# 别忘了请求头(headers),以防万一

user_agent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"

headers = {"User-Agent": user_agent}

# 爬取网站地址

req = request.Request("http://m.medsci.cn/wh.asp",headers=headers)

resp = request.urlopen(req)

# 读取页面

html = resp.read()

headline = re.findall(r'

.*',html.decode('utf-8'))

result = re.findall(r'

.*',html.decode('utf-8'))

time = re.findall(r'

.*

',html.decode('utf-8'))

total = re.findall(r'

.*

',html.decode('utf-8'))

# 进行数据清洗

headline = str(headline)

headline = headline.replace('''['

''',"")

headline = headline.replace('''

''',"              ")

headline = headline.replace('''

']''',"")

total = str(total)

total = total.replace('''['

''','')

total = total.replace('''

']''','')

result = str(result)

result = result.replace('''['

''',"")

result = result.replace('''

''',"              ")

result = result.replace(''''

''',"")

result = result.replace("

'","")

result = result.replace('

',"0")

result = result.replace(', ',"\n")

result = result.replace(']',"")

time = str(time)

time = time.replace('''['

''',"")

time = time.replace('''

']''',"")

# 输出结果

print("=================================================================")

print(total)

print(headline)

print(result)

print(time)

(代码结束)

终端输出结果如下:

=================================================================

全部:确诊 11904 例 密切接触  131881 例 疑似  16192  例 治愈 206 例 死亡 257 例

地区              确诊              密切接触              疑似              治愈              死亡

湖北              7153              36838                            119              249

浙江              599              10023                            15

广东              520              1965                            11

河南              422              6238              751              3              2

湖南              389              6960                            3

安徽              297              4997                            3

江西              286              7548                            9

重庆              238              4789              13              2

四川              207              4425                            3              1

山东              202              5614              72              2

江苏              202              3084                            5

上海              153              9804              167              9              1

福建              144              2501              116

北京              139              115                            5              1

广西              100              2700              11              2

河北              96              2045              88                            1

云南              91              2642              228              1

陕西              87              1979              116

黑龙江              80              1106              181                            1

辽宁              60              671                            1

海南              57              827                            1              1

山西              47              1101              75              1

天津              37              201              154

甘肃              35              556

贵州              29              416              3              2

宁夏              26              792              1

内蒙古              20              396              2

新疆              18              902

吉林              17              831              10              1

香港              12                            300

台湾              10

青海              9              135

澳门              7

西藏              1

印度              1

墨西哥              0                            7

菲律宾              0                            4

巴西              0                            1

沙特              0

泰国              19                                          5

日本              15                                          1

新加坡              13

韩国              12

澳大利亚              9                                          2

马来西亚              8

美国              6

德国              5

法国              5

阿联酋              4

加拿大              3

越南              2

英国              2

俄罗斯              2

意大利              2

尼泊尔              1

柬埔寨              1

斯里兰卡              1

芬兰              1

西班牙              1

瑞典              1

厄瓜多尔              0                            1

哥伦比亚              0                            1

截至 2020-2-1 14:33:04 数据统计

请程序员朋友们尽量避免前往人多的地方,出门戴好口罩。

最后希望各位程序员朋友们能够注意安全!

武汉加油!

中国加油!

欢迎关注:

B站:Chrithon

CSDN:玩Python的FUZE

本文采用 CC-BY-SA 4.0国际协议

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值