首页 > 解决方案 > 如何使用美丽的汤获得李名

问题描述

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

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.xweb-scrapingbeautifulsoup

解决方案


在查看文档并进行实验后,我想通了。不过它有点脏,所以你必须清理它。

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

推荐阅读