4爬虫实例----大学排名

输入:大学排名网站的url链接
输出:大学排名信息的屏幕输出(排名,学校名称,总分)
技术:requests-bs4
此为定向爬虫,仅对给定的url进行爬取,不扩展爬取

步骤1:获取网页内容 getHTMLText()
步骤2:提取所需内容并放入合适的数据结构中fillUnivList()
步骤3:展示结果 printUnivList()

import requests
from bs4 import BeautifulSoup使用bs4库中的BeautifulSoup类
import bs4 为了使用bs4库中的标签类型定义
解决编码问题
import sys
reload(sys)
sys.setdefaultencoding(“utf-8”)

def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return “”

def fillUnivList(ulist,html):
soup=BeautifulSoup(html,“html.parser”)
for tr in soup.find(‘tbody’).children:
if isinstance(tr,bs4.element.Tag):判断是tr标签的
tds=tr(‘td’)tr中的td标签存在tds中,(…)==.find_all(…)
ulist.append([tds[0].string,tds[1].string,tds[2].string])

def printUnivList(ulist,num):
^10意思是长度10
tplt="{0:10}\t{1:10}\t{2:^10}"
采用中文字符填充空格补齐chr(12288),自动补齐会默认英文空格补齐
print(tplt.format(“排名”,“学校名称”,“总分”,chr(12288)))
实现表头的打印
for i in range(num):
u=ulist[i]
print(tplt.format(u[0],u[1],u[2],char(12288)))

def main():
uinfo=[]
url=’’
html=getHTMLText(url)
fillUnivList(uinfo,html)
printUnivList(uinfo,20)

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值