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

团购网站单页模板网站建设公司2018-10-1

团购网站单页模板,网站建设公司2018-10-1,百度的网站网址,珠海企业网站设计公司采集从03月02日以来全国各省疫情数据 当然#xff0c;数据来源仍然是丁香园新型冠状病毒肺炎疫情实时动态首页 url#xff1a;https://ncov.dxy.cn/ncovh5/view/pneumonia 分析 确定01月22日以来全国各省疫情数据的URL 由项目(三)可以获取全国各省疫情数据点击可下载…采集从03月02日以来全国各省疫情数据 当然数据来源仍然是丁香园新型冠状病毒肺炎疫情实时动态首页 urlhttps://ncov.dxy.cn/ncovh5/view/pneumonia 分析 确定01月22日以来全国各省疫情数据的URL 由项目(三)可以获取全国各省疫情数据点击可下载https://file1.dxycdn.com/2020/0223/331/3398299755968040033-135.json 思路 1采集从01月23日以来全国各省疫情数据 加载最近一日全国疫情信息遍历最近一日全国疫情信息获取各省疫情URL发送请求获取各省疫情json字符串解析各省疫情json字符串并添加到列表中以json格式保存疫情信息 2 代码重构 抽取重复的代码到新方法中提高代码复用 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,tag_id): #解析首页内容获取解析后的Python数据#home_page首页内容#返回解析后的Python类型数据#2从疫情首页提取最近一日各国疫情数据soup BeautifulSoup(home_page,lxml)script soup.find(idtag_id)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 parse_corona_virus(self,last_day_corona_virus_of_china,desc):#定义列表用于存储各国从1月23号以来的疫情数据corona_virus []#2遍历各国疫情数据获取从01月22号以来的世界各国疫情的URLfor country in tqdm(last_day_corona_virus_of_china,desc):#发送请求获取各省疫情json字符串statustics_data_url country[statisticsData]statustics_data_json_str self.get_content_from_url(statustics_data_url)#4解析各省疫情json字符串并添加到列表中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]if country.get(countryShortCode):one_day[countryShortCode] country[countryShortCode]#print(statustics_data)corona_virus.extend(statustics_data)#把每个国家的疫情信息statustics_data都添加到一个大的corona_virus列表里面#print(corona_virus)return corona_virusdef load(self,path):#根据路径加载数据with open(path) as fp:#E:\Jupyter_workspace\study\python\爬虫\craw_last_day_corona_virus_of_china.jsondata json.load(fp)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_asciiFalsedef 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,tag_idgetListByCountryTypeService2true)#3保存数据self.save(last_data_corona_virus,E:\Jupyter_workspace\study\python\爬虫\last_day_nature_num111.json)def crawl_corona_virus(self):#采集从01月23号以来的世界各国疫情数据#1加载最近一日各国疫情数据#with open(yy1.json) as fp:last_day_corona_virus self.load(E:\Jupyter_workspace\study\python\爬虫\last_day_nature_num.json)#print(last_day_corona_virus)#定义列表用于存储各国从1月23号以来的疫情数据corona_virus self.parse_corona_virus(last_day_corona_virus,desc获取从01月23号以来的世界各国疫情信息)corona_virus []#2遍历各国疫情数据获取从01月23号以来的世界各国疫情的URLfor country in tqdm(last_day_corona_virus,):statustics_data_url country[statisticsData]#3发送请求获取从01月23号以来的世界各国疫情的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 craw_last_day_corona_virus_of_china(self):#采集最近一日国内各省疫情数据#1发送请求获取疫情首页信息home_page self.get_content_from_url(self.home_url)craw_last_day_corona_virus_of_china self.parse_home_page(home_page,tag_idgetAreaStat)#2解析疫情首页信息获取最近一日各省疫情数据soup BeautifulSoup(home_page,lxml)script soup.find(idgetAreaStat)text script.text#print(text)#从疫情数据中获取json格式的字符串json_str re.findall(r\[.\],text)[0]#由于中括号是个特殊的字符需要在前面加个转义符最后的结果会存在列表中故使用[0]来获取完整json格式#print(json_str)#把json格式的字符串转换为Python类型data json.loads(json_str)#print(last_day_nature_num)#3保存疫情数据self.save(craw_last_day_corona_virus_of_china,E:\Jupyter_workspace\study\python\爬虫\craw_last_day_corona_virus_of_china.json)def crawl_corona_virus_of_china(self):#采集从01月22日以来的全国各省的疫情数据#加载最近一日全国疫情信息#with open(E:\Jupyter_workspace\study\python\爬虫\craw_last_day_corona_virus_of_china.json) as fp:last_day_corona_virus_of_china self.load(E:\Jupyter_workspace\study\python\爬虫\craw_last_day_corona_virus_of_china.json)#遍历最近一日全国疫情信息获取各省疫情URLcorona_virus self.parse_corona_virus(last_day_corona_virus_of_china,采集01月22号以来各省疫情信息)#以json格式保存疫情信息self.save(corona_virus,E:\Jupyter_workspace\study\python\爬虫\last_day_corona_virus_of_china.json)def run(self):#self.crawl_last_day_corona_virus()self.crawl_corona_virus()#self.craw_last_day_corona_virus_of_china()self.crawl_corona_virus_of_china()if __name__ __main__:spider CoronaSpider()spider.run()由前面的四个爬虫项目可以得出总结 1每个爬虫任务都是由发送请求获取响应解析数据保存数据三部分组成 2发送请求获取响应的代码和保存数据的代码可以提取出来提高代码的复用性和可维护性 3如果访问的是相似的结构网页解析数据代码也可以进行提取出来提高代码的复用性和可维护性 4每一个功能封装成一个方法方便扩展和维护
http://www.yutouwan.com/news/490712/

相关文章:

  • 南通网站关键词优化php门户网站源码
  • wordpress下载整站源码网店代运营排行
  • vs做网站视频教程网站客户运营
  • 网站项目设计深圳软件园有哪些公司
  • 宣城网站建设 有限公司wordpress 伪静态 中文
  • 做网站前台后台是怎么连接的长沙网站建设技术
  • 网站必须备案我做的网站怎样推广的
  • 海尔商务网站建设中鼎国际建设集团网站
  • 太原做网站的公司排行速卖通网站怎样做店面的二维码
  • 花钱做网站不给部署推广网站有多少家
  • 苏州建设网站哪家好什么时候网站建设
  • 网上销售型企业网站互联网行业黑话
  • 网站开发职业技能简历小米路由器 wordpress
  • 电商云仓深圳百度搜索排名优化
  • 上海网站推广网络公司godaddy网站建设
  • 桂林做旅游网站失败的网站网站维护是不是很难做
  • 保定满城网站建设智能建站服务平台
  • 专业建设网站应该怎么做wordpress wp option
  • 个人网站做百度云电影链接犯法吗免费咨询医生的软件
  • 一个专门做恐怖片的网站福田瑞沃前四后四车价格
  • 勒流顺德网站建设西部数码 网站建设
  • 大石网站建设表白网页制作源码
  • 手机网站用什么域名百度站长工具怎么推广网站
  • 死循环网站济南公积金网站
  • 百度云电脑版网站入口2022最新小学生新闻
  • 南沙企业网站建设爱做网站免费
  • 廊坊网站建设服务汕头网站网站建设
  • 一个人做的网站做什么好深圳十大龙头企业
  • 成都网站优化排名推广wordpress和discuz织梦
  • 做公司简介网站电子商务网站建设的评估工具