鱼C论坛

 找回密码
 立即注册
查看: 1762|回复: 1

新手求教爬虫问题

[复制链接]
发表于 2020-9-10 19:39:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from bs4 import BeautifulSoup
import requests
response=requests.get('http://www.weather.com.cn/weather/101100101.shtml')
response.encoding='utf-8'
soup=BeautifulSoup(response.text,'html.parser')
div=soup.find('div',id='7d')
ul=div.find('ul')
li=ul.find_all('li')
weatherForSevenDay=[]
for weather in li:
    temp=[]
    date=weather.find('h1').string
    temp.append(date)
    p=weather.find_all('p')
    weatherDetail=p[0].string
    if weatherDetail is not None:
        temp.append('天气为:%s'%weatherDetail)
    Hightemprature=p[1].find('span').string               #这里去掉.string就没问,加上就会报错,下面的都没问题
    if Hightemprature is not None:
        temp.append('最高温为:%s'%Hightemprature)
    LowTemprature=p[1].find('i').string
    if LowTemprature is not None:
        temp.append('最低温为:%s'%LowTemprature)
    weatherForSevenDay.append(temp)
   
for weather in weatherForSevenDay:
    print(weather)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-9-10 19:41:34 | 显示全部楼层
加上就会报错
Traceback (most recent call last):

  File "C:\Users\Administrator\Desktop\Python练习程序\untitled3.py", line 25, in <module>
    Hightemprature=p[1].find('span').string

AttributeError: 'NoneType' object has no attribute 'string'
去掉的结果是这样的:
['10日(今天)', '天气为:多云', '最低温为:12℃']
['11日(明天)', '天气为:晴转多云', '最高温为:<span>26℃</span>', '最低温为:13℃']
['12日(后天)', '天气为:多云', '最高温为:<span>27℃</span>', '最低温为:14℃']
['13日(周日)', '天气为:多云', '最高温为:<span>26℃</span>', '最低温为:13℃']
['14日(周一)', '天气为:小雨转多云', '最高温为:<span>25℃</span>', '最低温为:10℃']
['15日(周二)', '天气为:阴转晴', '最高温为:<span>23℃</span>', '最低温为:10℃']
['16日(周三)', '天气为:多云', '最高温为:<span>26℃</span>', '最低温为:9℃']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 03:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表