Python 爬取任意指定城市的天气预报

上一篇做了一个新闻类爬虫,积累了一些小经验。学到一点:在写文章时最好不要把网站名称和爬取到的新闻文本一起发来,可能会被CSDN下架的。这次准备好爬取天气预报网站,内容应该不像新闻类的可能涉及政治,但网站名称嘛还是不要写得太明白,反正“天气”么英文就是 weather 总之本文中出现的网址url字符串都用****打上马赛克了,自行补齐吧。

爬虫原理简介

爬虫流程:

爬取、解析、美化输出或者存储到文件

常用的库:

请求库:requests,urllib.request,selenium …
解析库:re,lxml.tree,bs4.BeautifulSoup …

网页获取方法:

使用requests.get()比较方便,相关参数有:网址、参数字典、请求头、验证、代理、校验等

>>> from requests import get
>>> help(get)
Help on function get in module requests.api:

get(url, params=None, **kwargs)
    Sends a GET request.
    
    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param \*\*kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response

>>> 

常见的爬虫类:

class Spider(): 

    def __init__(self):
        self.url = 'http://www.****.com.cn'
        self.headers = {'User-Agent':'Mozilla/5.0 ***********'}
        self.auth = ('id','passward')
        self.proxies = { 'http':'http://IP:端口号', 'https':'https://IP:端口号' }

    def getHtml(self):
        html = requests.get(url=self.url,
                    proxies=self.proxies,
                    auth=self.auth,
                    headers=self.headers
                    )
        return html.text

    def parseHtml(self):
        text = self.getHtml()
        #根据需要,用各种方法来解析网页的标签获取想要的内容#
        ......
        

天气网站不用登录就能获取内容,只需网站加上请求头即可。请求头都是非必需的,其作用是模拟浏览器,告诉网站发来的请求是正常合法的。

请求头的获取:

网上有很多方法,最简单的就在浏览器地址栏里键入“about:version”后回车。用户代理那一行就是所要的字符串,复制后写成字典格式:headers = {‘User-Agent’:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36”}

解析过程:

解析网页有多种方法,目前我自己也不是很拿手就先不说了。我挑选用BeautifulSoup查找自己想要的网页标签,上一篇的爬虫中已有些摸索了,请见:

Python “今日新闻”一个小程序,拿走就能用!_汉阳Hann’s Home-CSDN博客今天做了一个爬虫程序:“今日新闻”,拿走就能用!外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传https://blog.csdn.net/boysoft2002/article/details/120549021?spm=1001.2014.3001.5501这次我要实战一个天气预报类的爬虫——

爬取城市七日天气预报

先来爬取我们大苏州的,来瞅瞅大昆山的天气预报吧

from bs
  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值