博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爬虫_中国天气网_文字天气预报(xpath)
阅读量:5993 次
发布时间:2019-06-20

本文共 2517 字,大约阅读时间需要 8 分钟。

 

1 import requests 2 from lxml import etree 3  4 headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36' 5  6 def get_html(url): 7     try: 8         html = requests.get(url, headers={
'User-Agent':'headers'}) 9 html.encoding = html.apparent_encoding10 if html.status_code == 200:11 return html.text12 return 013 14 except RequestsException:15 return 016 '''17 conMintab: 华北 18 conMintab2 北京19 conMintab2 天津20 conMintab2 河北21 conMintab2 山西22 conMintab2 内蒙古23 24 25 //div[@class="conMidtab"][1] 今天26 //div[@class="conMidtab"][2] 明天 27 ...28 //div[@class="conMidtab"][7] 最后一天29 '''30 31 def parse_html(html):32 wea = []33 html_element = etree.HTML(html)34 # !!!!! trs = html_element.xpath('//div[@class="conMidtab"][1]//tr')[2:]35 provinces = html_element.xpath('//div[@class="conMidtab"][1]//div[@class="conMidtab2"]')36 for province in provinces:37 trs = province.xpath('.//tr')[2:]38 for tr in trs:39 weather = {}40 city = tr.xpath('.//td[@width="83"]/a/text()')41 phenomenon = tr.xpath('.//td[@width="89"]/text()')42 wind = tr.xpath('.//td[@width="162"]//text()')43 hightest = tr.xpath('.//td[@width="92"]/text()')44 weather['city'] = city45 weather['phenomenon'] = phenomenon46 weather['wind'] = wind47 weather['hightest'] = hightest48 while '\n' in wind:49 wind.remove('\n')50 wea.append(weather)51 52 print(wea) 53 54 55 def main():56 urls = ['http://www.weather.com.cn/textFC/hb.shtml',57 'http://www.weather.com.cn/textFC/db.shtml',58 'http://www.weather.com.cn/textFC/hd.shtml',59 'http://www.weather.com.cn/textFC/hz.shtml',60 'http://www.weather.com.cn/textFC/hn.shtml',61 'http://www.weather.com.cn/textFC/xb.shtml',62 'http://www.weather.com.cn/textFC/xn.shtml',63 'http://www.weather.com.cn/textFC/gat.shtml']64 for url in urls:65 html = get_html(url)66 if html == 0:67 html = get_html(url)68 parse_html(html)69 70 71 if __name__ == '__main__':72 main()

。。港澳台的格式不太一样,暂时不想管他们了

。。运行结果的话,我爬取得是当日白天的天气,现在晚上了,数据都没有了(一开始还以为是代码改错了,还一直撤销)

 

转载于:https://www.cnblogs.com/MC-Curry/p/9426936.html

你可能感兴趣的文章
域控NTP同步外部源NTP并自动同步客户端时间
查看>>
Microsoft TV/Video Connection
查看>>
Step By Step实现轻量接触部署Windows XP Sp3
查看>>
手动添加apache的mod_rewrite模块
查看>>
进程内服务Service(SimpleRandomServiceDemo)
查看>>
Windows phone 7中关于Zune软件使用几个问题
查看>>
批处理延迟sleep应用
查看>>
Android第三十二期 - 轻量级下拉刷新
查看>>
VMware Vsphere Data Recovery 完整性检查错误修复
查看>>
【Linux技术】autotools制作makefile过程详解
查看>>
CentOS 6.3 运维监控之Cacti 监控主机系统(二)
查看>>
上接扩展GridView控件(9) - 给数据行增加右键菜单
查看>>
Exchange日常管理之十一:设置OWA访问HTTP到HTTPS的重定向
查看>>
关于导师制
查看>>
[Asp.net]说说密码框和只读框
查看>>
HOWTO:D900支持远程终端
查看>>
MySQL umask 导致备份报错
查看>>
微信吸粉实战二:腾讯新闻
查看>>
Spring 实践 -AOP
查看>>
Oracle Study之--PL/SQL Developer软件错误
查看>>