python bs4抓取:AttributeError:'NavigableString'对象没有属性'text'

时间:2018-09-04 07:13:03

标签: python beautifulsoup screen-scraping

我想用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("...............")  

1 个答案:

答案 0 :(得分:0)

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

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

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