Python爬虫问题求助!!

求助
import requests
from bs4 import BeautifulSoup
from pyecharts.charts import Bar

ALL_Data = []
def GetHTMLText(url):
try:

    r = requests.get(url, timeout = 30)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    return r.text
except:
    print("访问失败")

def ParseHTML(html):
soup = BeautifulSoup(html,“html5lib”)
info1 = soup.find(“div”,class_ = “conMidtab” )
info2 = info1.find_all(“table”)
for table in info2:
trs = table.find_all(‘tr’)[2:]
for index,tr in enumerate(trs):
tds = tr.find_all(‘td’)
city_td = tds[0]
if index == 0:
city_td = tds[1]
city = list(city_td.stripped_strings)[0]
tmp_td = tds[-2]
min_tmp = list(tmp_td.stripped_strings)[0]
ALL_Data.append({‘city’:city,‘min_tmp’:int(min_tmp)})
# print({‘city’:city,‘min_tmp’:int(min_tmp)})

def main():
urls = [
‘http://www.weather.com.cn/textFC/hb.shtml’,
‘http://www.weather.com.cn/textFC/db.shtml’,
‘http://www.weather.com.cn/textFC/hd.shtml’,
‘http://www.weather.com.cn/textFC/hz.shtml’,
‘http://www.weather.com.cn/textFC/hn.shtml’,
‘http://www.weather.com.cn/textFC/xb.shtml’,
‘http://www.weather.com.cn/textFC/xn.shtml’,
‘http://www.weather.com.cn/textFC/gat.shtml’
]
for url in urls:

    html = GetHTMLText(url)
    ParseHTML(html)
ALL_Data.sort(key=lambda data:data['min_tmp'])

print(ALL_Data)

data = ALL_Data[0:10]
cities = list(map(lambda x:x['city'],data))
min_temp = list(map(lambda x:x['min_tmp'],data))

chart = Bar(“中国最低气温城市TOP10”)

chart = Bar(' ')
chart.add('中国 ',cities,min_temp)
chart.render('temperature.html')

main()

为什么我直接打印数据没问题,但是在进行数据可视化时会报错AttributeError: ‘str’ object has no attribute ‘get’
求大神解答,十分感谢?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值