当前位置: 首页 > news >正文

常宁市网站建设1+x数字营销网站

常宁市网站建设,1+x数字营销网站,做网站的重要性,网页制作心得体会该内容出自黑马程序员教程 采集从03月02号以来的世界各国疫情数据 步骤#xff1a; Ⅰ#xff0c;重构项目(一)的代码#xff0c;以提高扩展性 把功能封装到一个类中每一个小功能变成一个方法通过run方法启动爬虫 import requests import re import json from bs4 impor…该内容出自黑马程序员教程 采集从03月02号以来的世界各国疫情数据 步骤 Ⅰ重构项目(一)的代码以提高扩展性 把功能封装到一个类中每一个小功能变成一个方法通过run方法启动爬虫 import requests import re import json from bs4 import BeautifulSoupclass CoronaSpider(object):def __init__(self):self.home_url https://ncov.dxy.cn/ncovh5/view/pneumoniadef get_content_from_url(self,url):#根据URL获取响应内容的字符串数据#URL请求的URL#返回响应内容的字符串response requests.get(url)return response.content.decode()def parse_home_page(self,home_page): #解析首页内容获取解析后的Python数据#home_page首页内容#返回解析后的Python类型数据#2从疫情首页提取最近一日各国疫情数据soup BeautifulSoup(home_page,lxml)script soup.find(idgetListByCountryTypeService2true)text script.text#print(text)#3从疫情数据中获取json格式的字符串json_str re.findall(r\[.\],text)[0]#由于中括号是个特殊的字符需要在前面加个转义符最后的结果会存在列表中故使用[0]来获取完整json格式#print(json_str)#4把json格式的字符串转换为Python类型data json.loads(json_str)#print(last_day_nature_num)return datadef save(self,data,path):#5以json格式保存最近一日各国疫情数据with open(path,w) as fp:json.dump(data,fp,ensure_asciiFalse)def crawl_last_day(self):#采集最近一天各国疫情信息#1发送请求获取首页内容home_page self.get_content_from_url(self.home_url)#2解析首页内容获取最近一天的各国疫情数据last_data self.parse_home_page(home_page)#3保存数据self.save(last_data,E:\Jupyter_workspace\study\python\爬虫\last_day_nature_num1.json)def run(self):self.crawl_last_day()if __name__ __main__:spider CoronaSpider()spider.run()很显然以达成原样的效果重构完成 Ⅱ实现采集从03月02号以来的世界各国疫情数据 加载最近一日各国疫情数据 遍历各国疫情数据获取从03月02号以来的世界各国疫情的URL 发送请求获取从03月02号以来的世界各国疫情的json字符串 解析各个国家疫情的json字符串转化为Python类型数据添加到列表中 将该列表以json格式保存从03月02号以来的世界各国疫情数据信息 import requests import re import json from bs4 import BeautifulSoup from tqdm import tqdm#进度条class CoronaSpider(object):def __init__(self):self.home_url https://ncov.dxy.cn/ncovh5/view/pneumoniadef get_content_from_url(self,url):#根据URL获取响应内容的字符串数据#URL请求的URL#返回响应内容的字符串response requests.get(url)return response.content.decode()def parse_home_page(self,home_page): #解析首页内容获取解析后的Python数据#home_page首页内容#返回解析后的Python类型数据#2从疫情首页提取最近一日各国疫情数据soup BeautifulSoup(home_page,lxml)script soup.find(idgetListByCountryTypeService2true)text script.text#print(text)#3从疫情数据中获取json格式的字符串json_str re.findall(r\[.\],text)[0]#由于中括号是个特殊的字符需要在前面加个转义符最后的结果会存在列表中故使用[0]来获取完整json格式#print(json_str)#4把json格式的字符串转换为Python类型data json.loads(json_str)#print(last_day_nature_num)return datadef save(self,data,path):#5以json格式保存最近一日各国疫情数据with open(path,w) as fp:json.dump(data,fp)#,ensure_asciiFalsecdef save(self,data):#5以json格式保存最近一日各国疫情数据with open(yy1.json,w) as fp:json.dump(data,fp)#,ensure_asciiFalse这个ensure_ascii是dump方法的属性控制编码为了显示汉字我这边运行一直保存没法用这个编码格式故这里去掉了当然要是显示汉字可以加上def crawl_last_day_corona_virus(self):#采集最近一天各国疫情信息#1发送请求获取首页内容home_page self.get_content_from_url(self.home_url)#2解析首页内容获取最近一天的各国疫情数据last_data_corona_virus self.parse_home_page(home_page)#3保存数据self.save(last_data_corona_virus,E:\Jupyter_workspace\study\python\爬虫\last_day_nature_num111.json)def crawl_corona_virus(self):#采集从03月02号以来的世界各国疫情数据#1加载最近一日各国疫情数据#with open(yy1.json) as fp:with open(E:\Jupyter_workspace\study\python\爬虫\last_day_nature_num111.json) as fp:last_day_corona_virus json.load(fp)#print(last_day_corona_virus)#定义列表用于存储各国从03月02号以来的疫情数据corona_virus []#2遍历各国疫情数据获取从03月02号以来的世界各国疫情的URLfor country in tqdm(last_day_corona_virus,获取从01月23号以来的世界各国疫情信息):statustics_data_url country[statisticsData]#3发送请求获取从03月02号以来的世界各国疫情的json字符串statustics_data_json_str self.get_content_from_url(statustics_data_url)#4解析各个国家疫情的json字符串转化为Python类型数据添加到列表中statustics_data json.loads(statustics_data_json_str)[data]#print(statustics_data)for one_day in statustics_data:#statustics_data这个数据里面没有国家的一些信息需要补充上去one_day[provinceName] country[provinceName]one_day[countryShortCode] country[countryShortCode]#print(statustics_data)corona_virus.extend(statustics_data)#把每个国家的疫情信息statustics_data都添加到一个大的corona_virus列表里面#5将该列表以json格式保存从01月23号以来的世界各国疫情数据信息self.save(corona_virus,E:\Jupyter_workspace\study\python\爬虫\corona_virus.json)def run(self):#self.crawl_last_day_corona_virus()self.crawl_corona_virus()if __name__ __main__:spider CoronaSpider()spider.run()这个json文件是各国的疫情数据https://file1.dxycdn.com/2020/0315/831/3402160489185731552-135.json
http://www.yutouwan.com/news/184985/

相关文章:

  • 淘客网站如何做推广网站开发技术方案实验报告
  • 多语言网站(如何实现网站的多语言版本 )牡丹江定制软件开发
  • 网站建设吴江服务器 空间 虚拟主机 网站需要备案吗
  • 广州seo网站开发国家高职示范校建设网站
  • 三合一网站指的是什么意思网站制作 优帮云
  • 网站安全优化seo优化人员
  • 自己做公司网站成本成都水高新区建设局官方网站
  • wordpress更换域名后登陆不了后台做网站优化需要多少钱
  • 网站做外链的具体步骤电商网站设计与制作论文
  • 九江网站建设排行榜做外贸找产品上哪个网站好
  • 网站建设gzzctyi廊坊网站排名优化公司哪家好
  • 南宁网站建设公司哪家专业网站栏目描述
  • 做教育业网站安卓应用开发环境
  • 淘宝网站怎么做有什么网站是做名片印刷的
  • 做百度网站每年的费用多少钱正规app软件开发报价
  • 简洁 手机 导航网站模板下载手机网站开发要哪些人
  • 手机网站建设案例网站建设教程pdf百度云
  • 网站建设项目规划书目录nian.so是国外还是国内网站
  • 做普通网站价格wordpress 软件价格
  • 百度seo整站优化网站建设漳州
  • 苏州嘉盛建设工程有限公司网站公司方案策划书
  • h5 建站网站 移动端社区网站建设
  • 石家庄外贸网站推广wordpress调取列表页
  • 上海哪个网站专门做宝宝宴的建造师网
  • 网站开发连接数据库的方法北京手机网站设计电话
  • 移动网站建设哪家便宜中国住房和城乡建设部建造师网站
  • 宁阳县住房和城乡建设局网站学校电商平台的创建
  • wordpress怎么加快网站打开速度seo推广顾问
  • 网络优化和推广昆明网站关键词优化
  • 展示型网站案例光明新区网站建设