【问题标题】:Python BS4 scraping: AttributeError: 'NavigableString' object has no attribute 'text'Python BS4 抓取:AttributeError:“NavigableString”对象没有属性“文本”
【发布时间】:2019-02-09 03:51:29
【问题描述】:

我想从以下页面用class="academicsList" 刮掉ul 中每个li 的文本:

https://www.eduvision.edu.pk/institutions-detail.php?city=51I&institute=3149_federal-urdu-university-of-arts-science-technology-islamabad

我收到错误消息:navigateable string has no attribute text。是什么导致了这个问题,我该如何解决?

这是我的代码

import requests  
from bs4 import BeautifulSoup  
from fake_useragent  
import  UserAgent  

ua = UserAgent()  
header = {'user-agent':ua.chrome}  
response = requests.get('https://www.eduvision.edu.pk/institutions-detail.php?city=51I&institute=3149_federal-urdu-university-of-arts-science-technology-islamabad',headers=header)  

soup = BeautifulSoup(response.content, 'html.parser')  
disciplines = soup.findAll("ul", {"class": "academicsList"})  
for d in disciplines:  
   for li in d:  
    print(li.text)  
    print("...............")  

【问题讨论】:

    标签: python beautifulsoup screen-scraping


    【解决方案1】:

    欢迎来到 SO! 您正在尝试迭代您找到的 ul 标记。但是你应该迭代 li 标签。为此,您需要在 d 中添加 .findAll('li')。喜欢,

    for d in disciplines:
       for li in d.findAll('li'):
        print(li.text)
        print("...............")
    

    希望这会有所帮助!干杯!

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多