天气预报爬虫小程序

Python3.5Mac ios系统爬取天气预报的小程序:

import requests, csv, random, time, socketfrom bs4 import BeautifulSoupimport http.client

def get_content(url, data = None):    header = {    ‘Accept‘: ‘text / html, application / xhtml + xml, application / xml;q = 0.9, image / webp, * / *;q = 0.8‘,    ‘Accept - Encoding‘:‘gzip, deflate, sdch‘,    ‘Accept - Language‘:‘zh - CN, zh;q = 0.8‘,    ‘Connection‘:‘keep - alive‘,    ‘User - Agent‘: ‘Mozilla / 5.0(Macintosh;Intel Mac OS X 10 11_6) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 50.0.2661.102Safari / 537.36‘    }    timeout = random.choice(range(80,180))    while True:        try:            rep = requests.get(url, headers = header, timeout = timeout)            rep.encoding = ‘utf-8‘            break        except socket.timeout as e:            print(‘3:‘, e)            time.sleep(random.choice(range(8,15)))

        except socket.error as e:            print(‘4:‘, e)            time.sleep(random.choice(range(20,60)))

        except http.client.BadStatusLine as e:            print(‘5:‘, e)            time.sleep(random.choice(range(30,80)))

        except http.client.ImproperConnectionState as e:            print(‘6:‘, e)            time.sleep(random.choice(range(5,15)))

    return rep.text

def get_data(html_text):    finalFile = []    bs = BeautifulSoup(html_text, ‘html.parser‘)    body = bs.body    data = body.find(‘div‘, id="15d")    ul = data.find(‘ul‘)    li = ul.find_all(‘li‘)

    for day in li:        temp = []        inf = day.find_all(‘span‘)

        date = inf[0].string        temp.append(date)

        weather = inf[1].string        temp.append(weather)

        temperature= inf[2].text        temp.append(temperature)

        wind = inf[3].string        temp.append(wind)

        wind1 = inf[4].string        temp.append(wind1)

        finalFile.append(temp)

    return finalFile

def write_data(data, name):    file_name = name    with open(file_name, ‘a‘, errors = ‘ignore‘, newline = ‘‘) as f:        f_csv = csv.writer(f)        f_csv.writerows(data)

if __name__ == ‘__main__‘:    url = ‘http://www.weather.com.cn/weather15d/101270101.shtml‘    html = get_content(url)    result = get_data(html)    write_data(result, ‘content.csv‘)
时间: 2024-10-24 14:23:57

天气预报爬虫小程序的相关文章

福利贴——爬取美女图片的Java爬虫小程序代码

自己做的一个Java爬虫小程序 废话不多说,先上图. 文件夹命名是用标签缩写,如果大家看得不顺眼可以等下载完成后手动改一下,比如像有强迫症的我一样... 这是挂了一个晚上下载的总大小,不过还有很多因为一些问题没有遍历下载到,而且会产生很多空文件,最下面我附带了一个递归删除空文件夹的小程序代码. 接下来是文件夹内部~ 图片存放位置默认为d:\picture,可在程序中更改,main函数的开头就是,有注释.爬取的网站为http://www.mmonly.cc/,大家有更好的资源网站可以私我. 爬虫源

一个python爬虫小程序

起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的下载,结果居然没找到!!CSDN有个不完整的还骗走了我一个积分!!尼玛!! 怒了,准备写个程序直接去爬廖雪峰的教程,然后再html转成电子书. 过程 过程很有趣呢,用浅薄的python知识,写python程序,去爬python教程,来学习python.想想有点小激动…… 果然python很是方便,5

爬虫小程序 - 王者荣耀全皮肤爬取

爬虫小程序 - 王者荣耀全皮肤爬取 代码如下所示(可直接复制使用): import requests import re import os ''' ps: 出现 <Response [405]> 多运行几次就好了 ''' def Downloed_ksin(ename, **kwargs): # 英雄详情页 url = 'https://pvp.qq.com/web201605/herodetail/' + ename + '.shtml' html = session.get(url=ur

微信小程序获取今日天气预报代码 小程序获取七日天气

代码是天气api的小程序demo, 粘贴上js和wxml就可以运行看效果了, 有问题的加我qq 445899710, 可提供源代码, 效果如图 如果是测试, 请勾选配置 不校验合法域名.web-view(业务域名).TLS 版本以及 HTTPS 证书 如果正式使用, 请添加安全域名两个 (ip.tianqiapi.com 和 tianqiapi.com) index.js代码 //index.js //获取应用实例 const app = getApp() Page({ data: { weat

爬虫小程序(爬取英雄联盟的英雄皮肤)

一.爬虫流程: 1.明确目标:url = https://daoju.qq.com/lol/list/17-0-0-0-0-0-0-0-0-0-0-00-0-0-1-1.shtml?ADTAG=innercop.lol.SY.shoppinglist_new_17 2.判断数据类型:动态/静态(这里是动态类型,是通过JS渲染的) 备注:如何来判断数据类型?是通过源码来判断的,如果网页源码中可以找到我们需要爬取的数据,那么就代表是静态,可以通过访问网页后结合正则就可以获取数据, 如果网页源码找不到

豆瓣电影搜索爬虫程序,爬虫小程序,适合初学者

最近在学python,之前用Python写过简单的图片爬取,今天想着用python爬一下豆瓣的电影,就有了下面的程序: #coding:utf-8 #coding:utf-8 import re import sys import urllib from bs4 import BeautifulSoup def movieSearch(): <span style="white-space:pre"> </span>douBanSearchurl = "

request模块的简单使用+爬虫小程序

爬虫之request 各种请求方式 get host_url = 'https://www.pearvideo.com/' #浏览器的版本等信息 headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36" } res = requests.ge

python写的的简单的爬虫小程序

import re import urllib def getHtml(url): page=urllib.urlopen(url) html=page.read() return html def getpic(html): s=r'src="(.*?\.jpg)" pic_ext' piclist=re.findall(s,html) x=0 for imgurl in piclist: urllib.urlretrieve(imgurl,'%d.jpg'%x) x=x+1 htm

swift实战小程序1天气预报

在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报.新建一个工程,命名为Weather,然后上网找一个天气预报的API,百度搜索"天气预报 api",打开一个网站,如下图: 我们最好找json的格式的api,比如这样的 找到API之后,我们来制作一个用户界面,打开storyboard,加载一个按钮,命名为北京的天气信息: 在按钮下方加一个text view来呈现天气信息: 现在添加一个按钮的点击事件,打开ViewController,输入以下代码