1104
文章
885253
访问
暂无分类
暂无标签
暂无数据
发布于2020-05-03 17:24 阅读(2304) 评论(0) 点赞(29) 收藏(1)
Python爬虫学习记录(1)——BeautifulSoup爬取天气信息
上节学习了flask简单使用并且爬取网站,本节学习BeautifulSoup爬取天气信息
打开网站: http://www.weather.com.cn/weather/101030100.shtml 可以看到天津天气七天信息
查看网页源代码:分析一天的天气标签 ul li h1 p span i win
下面开始编写代码:
BeautifulSoup的详细使用方法就不再介绍网上应该有很多,这里只针对本练习使用。
1.首先导入requests、BeautifulSoup库
- import requests
- from bs4 import BeautifulSoup
2.编写获取网页函数:
- def getHTMLText(url):
- try:
- r = requests.get(url,timeout=10)#获取网页
- r.raise_for_status()#确认编码方式
- r.encoding = r.apparent_encoding#编码
- return r.text#返回获取网页文本
- except Exception as e:
- print(e)
- return ""
3.编写处理网页文本函数:
- def buildList(ulist,html):
- soup = BeautifulSoup(html,"lxml")
- lis = soup.select("ul[class='t clearfix'] li")
- for li in lis:
- try:
- date = li.select('h1')[0].text
- weather = li.select('p[class="wea"]')[0].text
- temp = li.select('p[class="tem"] span')[0].text + "/" + li.select('p[class="tem"] i')[0].text
- win = li.select('p[class="win"] i')[0].text
- data = [date,weather,temp,win]
- ulist.append(data)
- except Exception as e:
- print(e)
4.编写显示天气函数:
- def showList(ulist):
- split = "{0:^10}\t{1:{4}^10}{2:{4}^10}\t{3:^10}"
- isplit = "{0:^10}\t{1:{4}^10}\t{2:{4}^10}\t{3:{4}^10}"
- print(split.format("时间","天气","温度","风量",chr(12288)))
- for list in ulist:
- print(isplit.format(list[0],list[1],list[2],list[3],chr(12288)))
5.主函数开始运行:
- if __name__ == '__main__':
- ulist = []
- url = "http://www.weather.com.cn/weather/101030100.shtml"
- html = getHTMLText(url)
- buildList(ulist,html)
- showList(ulist)
运行成功结果:
- 时间 天气 温度 风量
- 2日(今天) 晴转多云 32/18℃ 4-5级
- 3日(明天) 雷阵雨转小雨 24/16℃ 4-5级
- 4日(后天) 阴转多云 23/15℃ <3级转3-4级
- 5日(周二) 阴 24/16℃ <3级
- 6日(周三) 多云 24/15℃ 3-4级
- 7日(周四) 阴 25/14℃ 3-4级转<3级
- 8日(周五) 小雨转晴 25/13℃ <3级转3-4级
记录学习过程
原文链接:https://blog.csdn.net/cm_panpan/article/details/105888058
程序员说:42岁了,突然觉得研发前途渺茫
中国程序员数量达755万,全球排名第二
为什么都说程序员找不到女朋友,但是身边程序猿的却没一个单身的?
程序员说:30岁以上你还死磕技术,别说拿高薪,可能你连饭碗都会保不住
程序员被开除,老板:“有你参与的项目全黄了!”
笑话:一个测试工程师走进一家酒吧
笑话:面试官:请拿出一段体现你水平的代码。我: sudo rm -rf /*面试官:这体现了你哪方面能力?
python精选:Python 办公实战!按姓名拆分 Excel 为单独文件,微信自动发给相应联系人
网友说:做开发,不被领导喜欢怎么办?
网友说:我奉劝各位,一定不能在职场透露自己的家庭条件
作者: 西红柿煎鸡蛋
链接: https://www.pythonheidong.com/blog/article/347261/24dba525128ee89eadeb/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!
关于本站/关于站长
聚圣源2017射雕英雄传起名字免费软件好如何给画室起名字起名字男孩打分服装店 起名总是的近义词七星室内滑雪场孩子快抓住妈妈的手狗年宝宝起名字大全2018中国起名易经大师语音朗读软件川菜店铺起名女孩起名字打分金算盘扬名立万结局叮咚钱包12画属木的吉祥字起名字用五色草恶魔高校第三季中国赚钱网白夜追凶在线江湖奇兵人肉叉烧包下载双胎起名字男孩于怎样给麻辣烫店起名字大全武大考试中心秦煌魔兽争霸改键器豆浆店加盟公司起名安装淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费