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

使用过一次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()?

请问是为什么呢?

0

  • 编辑 收藏 删除 结题
  • 追加酬金 (90%的用户在追加酬金后获得了解决方案)

    当前问题酬金

    ¥ 0 (可追加 ¥500)

    支付方式

    扫码支付

    加载中...

    提供问题酬金的用户不参与问题酬金结算和分配

    支付即为同意 《付费问题酬金结算规则》

    1 条回答

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

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

      本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?
      按下Enter换行,Ctrl+Enter发表内容
    查看更多回答(0条)

    报告相同问题?

    悬赏问题

    • ¥20 遥感植被物候指数空间分布图制作 Github上传代码没有contribution和activity记录 SNETCracker 数学建模大赛交通流量控制 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢 paddleocr最下面一行似乎无法识别 求某类社交网络数据集 靶向捕获探针方法/参考文献