|
import requests
from bs4 import BeautifulSoup
import bs4
def getHTMLText(url):
try:
r = requests.get(url, timeout=30) # get获取url信息
r.raise_for_status() # 异常信息捕获
r.encoding = r.apparent_encoding # 修改编码
return r.text # 返回信息
except:
return "" # 出现错误返回空字符串
def fillUnivList(ulist, html): # 将传入的html通过bs库解析和提取所需内容并放入一个列表
soup = BeautifulSoup(html, "html.parser") # 煲汤
for tr in soup.find('tbody').children: # 遍历tbody下子节点
if isinstance(tr, bs4.element.Tag): # 类型判断过滤出Tag类标签
tds = tr('td') # 存入列表tds中
ulist.append([tds[0].string, tds[1]].string, tds[2].string]) # 所需元素添加到一个空列表
def printUnivList(ulist, num): # 使用格式化输出 .format
print("{:^10}\t{:^6}\t{:^10}".format("排名", "学校名称", "总分"))
for i in range(num):
u = ulist
print("{:^10}\t{:^6}\t{:^10}".format(u[0], u[1], u[2]))
print("Suc" + str(num))
def main():
uinfo = []
url = 'https://www.shanghairanking.cn/rankings/bcur/201611'
html = getHTMLText(url)
fillUnivList(uinfo, html)
printUnivList(uinfo, 20)
main()
py3.7.2源码打出来的和csdn分享出来的一致,小白爬虫入门 属性网站源码扒出来了
这个错误就感觉不太对劲。。。。求助大佬如何解决
|
-
-
|