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

青岛网站建设团队成都网站建设制作价格

青岛网站建设团队,成都网站建设制作价格,宣传片制作要求说明,网站建立后怎么做推广python爬虫的练习 1.爬取天气网的北京城市历史天气数据1.1 第一种使用面向对象OOP编写爬虫1.2 第二种使用面向过程函数编写爬虫 1.爬取天气网的北京城市历史天气数据 1.1 第一种使用面向对象OOP编写爬虫 import re import requests from bs4 import BeautifulSoup import xlw… python爬虫的练习 1.爬取天气网的北京城市历史天气数据1.1 第一种使用面向对象OOP编写爬虫1.2 第二种使用面向过程函数编写爬虫 1.爬取天气网的北京城市历史天气数据 1.1 第一种使用面向对象OOP编写爬虫 import re import requests from bs4 import BeautifulSoup import xlwtclass Spider(object): 天气数据爬虫类 # 定义类变量用于正则表达式datatime_pattern re.compile(rdiv classth200(.*?)/div)wendu_pattern re.compile(rdiv classth140(.*?)/div)def __init__(self, url, headers, filepath): 初始化方法 :param url: 基础URL模板 :param headers: HTTP请求头 :param filepath: 输出文件路径 self.url urlself.headers headersself.datalist [] # 存储日期的列表 self.mwen [] # 存储最高温度的列表 self.iwen [] # 存储最低温度的列表 self.tq [] # 存储天气状况的列表 self.fx [] # 存储风向的列表 self.filepath filepath def download_page(self,url): 下载页面并返回页面内容 :param url: 要下载的页面URL :return: 页面内容或None如果下载失败 try:response requests.get(url, headersself.headers)response.raise_for_status() # 如果HTTP请求返回了不成功的状态码则引发HTTPError异常return response.textexcept requests.RequestException as e:print(fError downloading page: {e})return Nonedef parse_page(self, html): 解析页面内容提取日期和温度数据 :param html: 页面内容 soup BeautifulSoup(html, html.parser)# print(soup)for item in soup.find_all(ul, class_thrui):item_str str(item)# print(item)# 使用正则表达式提取日期数据 dates re.findall(self.datatime_pattern, item_str)self.datalist.extend(dates)# print(dates)# 使用正则表达式提取温度数据 temperatures re.findall(self.wendu_pattern, item_str)print(temperatures)# 假设每组温度数据包含4个部分最高温度、最低温度、天气状况、风向 for i in range(0, len(temperatures), 4):self.mwen.append(temperatures[i])self.iwen.append(temperatures[i 1])self.tq.append(temperatures[i 2])self.fx.append(temperatures[i 3])def download_and_parse_all_pages(self): 下载并解析所有页面 for year in range(23, 24): # 这里设定只是下载2023年的for month in range(1, 2): # 这里设定只是下载2023年的1月的# base_url self.url page_url f{self.url}20{year:02d}{month:02d}.html # 这里设定不够两位补0print(page_url)html self.download_page(page_url)# print(html)if html:self.parse_page(html)def save_to_excel(self): 将爬取的数据保存到Excel文件中 workbook xlwt.Workbook(encodingutf-8, style_compression0)worksheet workbook.add_sheet(北京历史天气数据, cell_overwrite_okTrue)# 写入表头 columns (日期, 最高温度, 最低温度, 天气, 风向)for i, col in enumerate(columns):worksheet.write(0, i, col)# 写入数据 for i in range(len(self.datalist)):worksheet.write(i 1, 0, self.datalist[i])worksheet.write(i 1, 1, self.mwen[i])worksheet.write(i 1, 2, self.iwen[i])worksheet.write(i 1, 3, self.tq[i])worksheet.write(i 1, 4, self.fx[i])workbook.save(self.filepath)print(fData saved to {self.filepath})def run(self):self.download_and_parse_all_pages()self.save_to_excel()if __name__ __main__:headers {User-Agent: Mozilla/5.0(compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)}url_template http://lishi.tianqi.com/beijing/filepath beijing_weather_data.xlsspider Spider(url_template, headers, filepath)spider.run() 1.2 第二种使用面向过程函数编写爬虫 import requests from bs4 import BeautifulSoup import re import xlwtdatatime re.compile(div classth200(.*?)/div) wendu re.compile(div classth140(.*?)/div)def down_allpage(url):datalist []mwen []iwen []tq []fx []for i in range(23,24):for j in range(1,2):baseurl url 20{}{:02d}.html.format(i, j)html down_page(baseurl)# print(html)soup BeautifulSoup(html, html.parser)for item in soup.find_all(ul,class_thrui):# print(item)item str(item)riqi re.findall(datatime,item)for item1 in riqi:datalist.append(item1)# print(datalist)zb_all re.findall(wendu,item)# print(zb_all)for i in range(31):mwen.append(zb_all[i*40])iwen.append(zb_all[i*41])tq.append(zb_all[i*42])fx.append(zb_all[i*43])# print(mwen,\n,iwen,\n,tq,\n,fx)return datalist,mwen,iwen,tq,fxdef save_xls(datalist,mwen,iwen,tq,fx):wb xlwt.Workbook(encodingutf-8, style_compression0)ws wb.add_sheet(天气数据,cell_overwrite_okTrue)col (日期,最高温度,最低温度,天气,风向)for i in range(len(col)):ws.write(0,i,col[i])for i in range(len(datalist)):ws.write(i1,0,datalist[i])for i in range(len(mwen)):ws.write(i1,1,mwen[i])for i in range(len(iwen)):ws.write(i1,2,iwen[i])for i in range(len(tq)):ws.write(i1,3,tq[i])for i in range(len(fx)):ws.write(i1,4,fx[i])wb.save(rD:\天气数据.xls)def down_page(url):headers {User-Agent: Mozilla/5.0(compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html)}r requests.get(url, headersheaders)html r.textreturn html# print(html)if __name__ __main__:url http://lishi.tianqi.com/beijing/# down_page(url)down_allpage(url)datalist,mwen,iwen,tq,fx down_allpage(url)print(datalist)save_xls(datalist,mwen,iwen,tq,fx)
http://www.yingshimen.cn/news/105280/

相关文章:

  • 做网站调用无广告视频少儿编程老师需要具备什么条件
  • 宁波市镇海建设交通局网站首页vs2019怎么创建网站
  • 福州网站怎么做的网站开发建设合同书
  • 河南省建设厅网站公示公告网站关键词放哪
  • 租车公司网站 模板上海外贸建站推广公司
  • 网站建设需要哪些方面老河口网站
  • 如何给网站添加外链校园网站建设年度工作计划
  • 自己制作一个网站需要什么软件网站建设果麦科技
  • 数据分析网站怎么做专业网站排名优化公司
  • 建设厅网站生成案卷生成不了wordpress的pjax主题
  • 迪士尼网站是谁做的企业做一个网站的费用
  • 网站做seo深业资本有限公司网站建设
  • wordpress建站工具百度移动端关键词优化
  • 注册公司网站怎么做没有备案的网站怎么访问不了
  • 铜川建设网站江西房地产网站建设
  • 四川营销型网站建设品牌推广外包公司
  • 网站怎么做全站搜索企业管理咨询有限公司经营范围
  • 网站数据分析报表网站怎么做构成
  • 万网网站根目录wordpress页面加密
  • 太原网站制作哪里便宜粤icp备网站建设 中企动力广州
  • 做问卷赚钱最好似网站网页版征信报告查询
  • 公司网站实用性北京好的设计公司
  • 专门做品牌折扣的网站广州网站定制开发
  • 坪山网站建设哪家便宜织梦转WordPress插件
  • 专业深圳网站定制开发西安做网站比较好的公司
  • 中国公路建设行业协会网站这么上不住建局人员名单
  • 做网站常用软件建设厅教育培训网站
  • 国内做的比较好的协会网站百度做网站的公司
  • 优质的专业网站建设网络推广方案下拉管家微xiala11
  • 效果图参考网站东莞做网站 汇卓