python实现天气爬虫——利用xpath爬取七天天气预报数据

import pandas as pd

import lxml

import requests

import csv

from lxml import html

weatherUrl='http://www.weather.com.cn/weather/101280101.shtml'

link2='//li[@class="sky skyid lv{} {}"]'

link1='//li[@class="sky skyid lv{}"]'

#获取目标网页

def getSource(url):

response=requests.get(url)

response.encoding='utf-8'

return response.content #返回网页源代码

selector=lxml.html.document_fromstring(getSource(weatherUrl))

Weather=[]

WeatherLink=[]

WeatherList=[]

for i in range(1,4):

weatherLink1=link1.format(i)

weatherLink2=link2.format(i,'on')

WeatherLink.append(weatherLink1)

WeatherLink.append(weatherLink2)

for j in range(len(WeatherLink)):

for s in range(len(selector.xpath(WeatherLink[j]))):

WeatherList.append(selector.xpath(WeatherLink[j])[s])

for each in WeatherList:

WeatherDict={}

date=each.xpath('h1/text()')[0]

weather=each.xpath('p/@title')[0]

temperature=each.xpath('p[@class="tem"]/i/text()')[0]

num=date[:2]

WeatherDict['date']=date

WeatherDict['weather']=weather

WeatherDict['temperature']=temperature

WeatherDict['num']=num

Weather.append(WeatherDict)

#写入csv

def writeData(Weather):

with open('D:/python/test/weather.csv','w',encoding='utf-8-sig',newline='') as f:

writer=csv.DictWriter(f,fieldnames=['date','weather','temperature','num'])

writer.writeheader()

for each in Weather:

writer.writerow(each)

writeData(Weather) #write in csv ducument

print(Weather) #查看结果

利用python爬取天气预报_python实现天气爬虫——利用xpath爬取七天天气预报数据...相关推荐

  1. python爬取音乐_Python现学现用xpath爬取豆瓣音乐

    昨天说了Requests库,今天来上手爬虫了. 爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能 三种爬虫方 ...

  2. Python爬虫:Xpath爬取网页信息(附代码)

    Python爬虫:Xpath爬取网页信息(附代码) 上一次分享了使用Python简单爬取网页信息的方法.但是仅仅对于单一网页的信息爬取一般无法满足我们的数据需求.对于一般的数据需求,我们通常需要从一个 ...

  3. Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图、热图可视化

    Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图.热图可视化 目录 上海十六区,2020年5月份房价实时地图(数据来源房天下)可视化 雷达图.柱 ...

  4. Python开发工具系列1------基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具

    Python开发工具系列1------ 基于业务常见情况,利用Python实现短文本相似度模型并且利用PyQt5封装为工具 业务场景介绍 工具介绍 关键功能实现 界面实现 主要业务功能实现 代码与工具 ...

  5. 利用python分析电商_Python实现爬取并分析电商评论

    现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...

  6. python 定时自动爬取_python实现scrapy爬虫每天定时抓取数据的示例代码

    1. 前言. 1.1. 需求背景. 每天抓取的是同一份商品的数据,用来做趋势分析. 要求每天都需要抓一份,也仅限抓取一份数据. 但是整个爬取数据的过程在时间上并不确定,受本地网络,代理速度,抓取数据量 ...

  7. python定时爬取数据_python实现scrapy爬虫每天定时抓取数据的示例代码

    1. 前言. 1.1. 需求背景. 每天抓取的是同一份商品的数据,用来做趋势分析. 要求每天都需要抓一份,也仅限抓取一份数据. 但是整个爬取数据的过程在时间上并不确定,受本地网络,代理速度,抓取数据量 ...

  8. python scrapy框架 抓取的图片路径打不开图片_Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码...

    大家可以在Github上clone全部源码. 基本上按照文档的流程走一遍就基本会用了. Step1: 在开始爬取之前,必须创建一个新的Scrapy项目. 进入打算存储代码的目录中,运行下列命令: sc ...

  9. pythonttf字体反爬虫_利用Python采集起点中文网小说,并解决字体反爬的问题

    个人比较喜欢看小说,于是乎想利用Python爬取小说网站--起点中文网,在Python编程爬取定位过程中遇到了Python反爬虫,咨询了我旁边的前端大神,说下方法 当前页面接口返回的html源码 当前 ...

最新文章

  1. Java Socket实战之五:使用加密协议传输对象
  2. java基础知识回顾之javaIO类---FileInputStream和FileOutputStream字节流复制图片
  3. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(三 APP应用)
  4. Linux 终端操作之简明疾速指南(1)
  5. 【剑指offer】面试题35:复杂链表的复制(Java 实现)
  6. python3 json模块_详解python 3.6 安装json 模块(simplejson)
  7. 开发 OpenAM Java 客户端
  8. atitit.RESTful服务的概览and框架选型
  9. python闹钟界面程序_利用QT写一个极简单的图形化Python闹钟程序
  10. iphone导出视频 无法连接到设备_爱思助手无法识别设备或者连接超时解决办法...
  11. C# 01.04 占位符
  12. 公众号降权了可以养好嘛,微信公众号降权了多久能恢复
  13. Clion 调教记录
  14. jks文件转换keystore
  15. 2016小米校招笔试题
  16. 团队-中国象棋游戏-设计文档
  17. 关于sentinel LDK加密war包实现应用加密的使用方法
  18. GIT克隆项目出现:The authenticity of host ‘gitee.com (xxx.xxx.xxx.xxx)‘ can‘t be established.
  19. Ubuntu 22.04 无法使用网易云音乐
  20. 原来js可以这样用。类似51la.cnzz统计的js接口

热门文章

  1. linux系统怎么查看raid卡信息,LINUX下查SCSI卡、RAID卡信息的命令
  2. linux系统分区隐藏,linux 如何隐藏ext2分区
  3. 热烈祝贺2019和数软件元宵晚会圆满落幕
  4. 互联网摸鱼日报(2023-01-04)
  5. 犯得超级低级的错误(Navicat连接linuxOracle提示无监听)
  6. Metropolis-Hastings算法
  7. 语文世界杂志语文世界杂志社语文世界编辑部2022年第9期目录
  8. 第一个IP设计——完整工程和分析
  9. 【Markdown 教程】——程序员利器
  10. 阿里承担电商扶贫七成任务,荣获全国脱贫攻坚组织创新奖