我正在努力抓紧美国大学的名单。我已经尝试了几个小时,但没有任何效果(即其他方法会使控制台崩溃)。到目前为止,这就是我所拥有的。
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"})
以及无数其他尝试,都无济于事。
有帮助吗?
答案 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。