如何使用美丽的汤获得李标题

时间:2018-11-12 02:06:41

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

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

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"})以及无数其他尝试,都无济于事。

有帮助吗?

2 个答案:

答案 0 :(得分:0)

在查看了文档并进行了实验之后,我找到了答案。虽然有点脏,所以您必须清洁它。

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

答案 1 :(得分:0)

我只需尝试page_soup.find_all("li")即可获得所有<li>标签。

不知道为什么无法通过“ ol.getChildren()”在<li>中获得<ol>,还有一个帖子Unable to scrape <li> tag inside the <ol> tag using beautiful soup