appleguess 2019-11-27 02:49 采纳率: 0%
浏览 1455

使用过一次find_all 后,在循环中不能再次使用findall了

问题:练习BeautifulSoup的时候练习代码爬大麦网的演唱会信息。使用过一次find_all 后,在循环中不能再次使用findall了
代码:

from bs4 import BeautifulSoup
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://search.damai.cn/search.htm?spm=a2oeg.home.category.ditem_0.591b23e11hVMUT&ctl=演唱会&order=1&cty=北京')
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')
perform_list = soup.find_all(class_='items')
perform_dict = []
for perform_item in perform_list:
    show_name = perform_item.find(class_='items__txt__title').find('a').string
    show_time_text = perform_item.find_all(class_='items__txt__time').text

提示:
show_time_text = perform_item.find_all(class_='items__txt__time').text
File "E:\python document\Test\venv\lib\site-packages\bs4\element.py", line 1602, in getattr
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key
AttributeError: ResultSet object has no attribute 'text'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?

请问是为什么呢?

  • 写回答

1条回答

  • 繁华三千东流水 2019-11-27 08:44
    关注

    find_all 获得的是一个列表 你可以指定列表中的一个元素.text试一试。如:perform_item.find_all(class_='items__txt__time')【0】.text

    评论

报告相同问题?

悬赏问题

  • ¥15 使用python运并绘制散点图的函数绘制“低收入人群”与“房屋价格(美元)”的散点图,并简要分析“低收入人群”与房屋价格(美元)”的关系
  • ¥15 远程调试启动项目,开发工具:idea+微信开发者工具
  • ¥15 热重分析MATLAB
  • ¥15 智能驾驶算法通用测试场景
  • ¥20 Java《森林环保大冒险》游戏设计
  • ¥15 升压斩波的问题.谁能帮个忙
  • ¥15 ccs3.3连接烧录器成功,但是点烧录报错,请各位指点迷津
  • ¥15 求帮助分析DBG文件,找出系统蓝屏原因
  • ¥15 多网融合数据跨域流转溯源难
  • ¥15 Flinksql sink oracle不能处理jdbc url怎么解决?
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部