【问题标题】:How to get li titles using beautiful soup如何使用美丽的汤获得李名
【发布时间】:2019-04-14 18:16:00
【问题描述】:

我正在尝试抓取美国的大学列表。我已经尝试环顾了几个小时,但没有任何效果(即其他方法只会使控制台崩溃)。这是我到目前为止所拥有的。

HTML 格式如下:

<ol>
<a name="A"><b>A</b></a><br/>
<p>
<li><a href="http://www.acu.edu/">
    Abilene Christian University</a> (acu.edu)

<li><a href="http://www.adelphi.edu/">
    Adelphi University</a> (adelphi.edu)

<li><a href="http://www.scottlan.edu/">
        Agnes Scott College</a> (scottlan.edu)

<li><a href="http://www.afit.af.mil/">
    Air Force Institute of Technology</a> (afit.af.mil)

这是我的代码:

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq

#Site for list scraping 
my_url = "http://doors.stanford.edu/~sr/universities.html"

#Open connection and grab the page
uClient = uReq(my_url)

#Save contents to variable
page_html = uClient.read()

#Close connection
uClient.close()

#Html parsing
page_soup = soup(page_html, "html.parser")

#Checking the list
page_soup.ol

我尝试过page_soup.findChildren("li")page_soup.find("li", {"class":"text"}) 以及无数其他方法都无济于事。

帮助?

【问题讨论】:

    标签: python-3.x web-scraping beautifulsoup


    【解决方案1】:

    查看文档并进行实验后,我想通了。不过它有点脏,所以你得把它擦干净。

    #Get the list
    listofuni = [li.text for li in page_soup.findAll('li')]
    

    【讨论】:

      【解决方案2】:

      我只是简单地尝试page_soup.find_all("li"),我可以获得所有&lt;li&gt; 标签。

      不知道为什么不能通过“ol.getChildren()”在&lt;ol&gt;里面得到&lt;li&gt;,还有一个帖子Unable to scrape <li> tag inside the <ol> tag using beautiful soup

      【讨论】:

        猜你喜欢
        • 2011-11-15
        • 2021-03-24
        • 2018-09-04
        • 2010-11-06
        • 1970-01-01
        • 2014-02-26
        • 2014-05-28
        • 2021-01-15
        • 1970-01-01
        相关资源
        最近更新 更多