设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第46课】 查天气(4)

  [复制链接]

0

主题

0

好友

28

积分

新手上路

Rank: 1

121#
发表于 2017-8-8 15:42:18 |只看该作者
crossin先生,先谢谢你提供的这个平台,想自学Python就是从你这个微信平台里入手的,我用的是python3以上的版本,学的那个磕磕绊绊。。。到现在天气部分已经进行不下去了。
现在有这么个问题,你在天气1的帖子里刚开始的那个博客,里面说的网址需要访问权限,我进不去。。。好奇怪,如果有能够联系抓取城市代码的网址,请回复我,谢谢。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

122#
发表于 2017-8-8 23:50:17 |只看该作者
tanlongfei 发表于 2017-8-8 15:42
crossin先生,先谢谢你提供的这个平台,想自学Python就是从你这个微信平台里入手的,我用的是python3以上的 ...

哪个权限?
最初的查城市代码的接口有时能访问有时不行,查天气一帖子里说了三种替代方式,目前只能这样了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

28

积分

新手上路

Rank: 1

123#
发表于 2017-8-9 14:29:42 |只看该作者
C:\Users\tanlf\Desktop\微信图片_20170809142701
是这样的图片,我也是很无奈,主要是想练练抓城市。
帖子里说'注:上面接口2014.3.4日已不再更新。换成这个:'
然后下面那个点进去就是上面那个图片格式。
回复

使用道具 举报

0

主题

0

好友

28

积分

新手上路

Rank: 1

124#
发表于 2017-8-9 14:31:00 |只看该作者
crossin先生 发表于 2017-8-8 23:50
哪个权限?
最初的查城市代码的接口有时能访问有时不行,查天气一帖子里说了三种替代方式,目前只能这样 ...


好像图片没发明白,再试一次,不行就算啦,无奈
回复

使用道具 举报

0

主题

0

好友

28

积分

新手上路

Rank: 1

125#
发表于 2017-8-9 16:27:53 |只看该作者
  1. #写入byte格式的内容,要用wb模式打开文件才行,w模式打开的文件不能正常写入
  2. #http://qq.ip138.com/weather/shanxi/taiyuan.htm  可查  但是好像没有山西省的天气。。。
  3. #北京地区。。。不能查全北京的天气,只能查具体的某个区,比如北京昌平
  4. import urllib.request
  5. url1 = 'http://qq.ip138.com/weather/'
  6. province = input('用拼音输入省份\n')
  7. city = input('用拼音输入城市\n')
  8. url = url1+province+'/'+city+'.htm'
  9. web = urllib.request.urlopen(url)
  10. content = web.read().decode('GB2312')  
  11. #得用decode('GB2312')才能转换为恰当的格式

  12. data = content.split(',')
  13. need1 = data[10].split('var bds_config')
  14. need2 = need1[1].split(';')
  15. need3 = need2[0]
  16. need4 = need3[5:].split('。')
  17. need5 = need4[0]
  18. need6 = need5[9:].split('_')
  19. need7 = need6[1].split(';')
  20. need6[1] = need7
  21. print('\n',need6[0],':\n')
  22. for i in need6[1]:
  23.     print(i,'\n')
复制代码
决定暂时先放弃抓取城市后写的提取天气的代码。感觉自己low爆了,虽然运行成功,但是全是list和str的运算,low。。。也秀下,毕竟是努力的结果。
回复

使用道具 举报

1

主题

0

好友

80

积分

注册会员

Rank: 2

126#
发表于 2017-8-24 13:35:20 |只看该作者
本帖最后由 blueheart 于 2017-8-24 13:42 编辑
lovepythoner 发表于 2015-4-18 06:43
前面的都看了非常好,阶梯设计的很好,循序渐进
这次的http://m.weather.com.cn/data5/city.xml连接失效请老 ...

哈哈,http://m.weather.com.cn/data5/city.xml这个链接抓出来的是一堆网页源码,原来是链接失效了
抓取省份.png
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

127#
发表于 2017-8-24 13:44:06 |只看该作者
blueheart 发表于 2017-8-24 13:35
哈哈,,http://m.weather.com.cn/data5/city.xml这个链接抓出来的是一堆网页源码,原来是链接失效了
...

改成 city3 ,第一课帖子前面有说明
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

1

主题

0

好友

80

积分

注册会员

Rank: 2

128#
发表于 2017-8-24 17:42:59 |只看该作者
本帖最后由 blueheart 于 2017-8-24 17:54 编辑
crossin先生 发表于 2017-8-24 13:44
改成 city3 ,第一课帖子前面有说明

哦哦,谢谢您,您说错了,应该是改成data3而不是city3,我看到了,在查天气(1)那一贴有讲到
回复

使用道具 举报

1

主题

0

好友

80

积分

注册会员

Rank: 2

129#
发表于 2017-8-24 17:57:18 |只看该作者
  1. # -*- coding: UTF-8 -*-
  2. import urllib2

  3. url1 = 'http://m.weather.com.cn/data3/city.xml'

  4. content1 = urllib2.urlopen(url1).read()

  5. provinces = content1.split(',')

  6. print content1
复制代码

抓取省份成功.png (66.96 KB, 下载次数: 231)

抓取省份成功.png

回复

使用道具 举报

1

主题

0

好友

80

积分

注册会员

Rank: 2

130#
发表于 2017-8-24 19:24:29 |只看该作者
本帖最后由 blueheart 于 2017-8-24 19:27 编辑
crossin先生 发表于 2013-9-3 20:26
你这问题好像和楼上某个问题是一样的,你看一下上面的评论。用这个方法试试看。 ...

哈哈,我也遇到一样的问题,确实又是编码问题
  1.    print content2.decode('utf-8')
复制代码

城市列表.png (65.44 KB, 下载次数: 222)

城市列表.png

城市列表1.png (44.43 KB, 下载次数: 218)

城市列表1.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-3 06:05 , Processed in 0.038733 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部