python爬虫由浅入深7--基于中国大学排名的定向爬虫
2017-09-27 07:21
671 查看
功能描述:
基于中国大学排名网http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017.html,抓取相关信息输入:大学排名的url链接
输出:大学排名的屏幕输出(排名,大学名称,总分)
技术路线:requests和bs4
定向爬虫:仅对输入url进行爬取,无扩展
查看站点无robots.txt,则可知,定向爬虫可直接获取
程序的结构设计
1.从网络上获取大学排名的网页内容2.提取网页内容中的信息到合适的数据结构
3.利用数据结构显示并输出结果
分析知,大学排名信息包括大学名称及各自对应的信息,故可用一个二维列表进行存储
网页分析
打开相关站点,查看对应的html信息所需大学信息处于每一个<tr>标签中
所需具体信息处于每个<tr>标签下的<td>标签中,
故,可以全局查找特定标签锁定信息
代码实现
import requests import bs4 from bs4 import BeautifulSoup def getHTMMLText(url): try: r = requests.get(url,timeout = 30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" return "" def fillUnivList(ulist,html): soup = BeautifulSoup(html,"html.parser") for tr in soup.find('tbody').children: if isinstance(tr,bs4.element.Tag): tds = tr('td') ulist.append([tds[0].string,tds[1].string,tds[2].string]) def printUnivList(ulist,num): print("{:^10}\t{:^6}\t{:^10}".format("排名","学校名称","总分")) for i in range(num): u = ulist[i] print("{:^10}\t{:^6}\t{:^10}".format(i+1,u[1],u[2])) def main(): uinfo = [] url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2017.html' html = getHTMMLText(url) fillUnivList(uinfo,html) printUnivList(uinfo,20) main()
相关文章推荐
- python爬虫定向爬取中国大学排名
- python爬虫由浅入深6--基于bs4库的HTML内容的查找方法
- Python网络爬虫与信息提取-Day10-(实例)中国大学排名定向爬虫
- python爬虫由浅入深4--基于bs4的html内容遍历方法
- python爬虫由浅入深8---基于正则表达式查询的淘宝比价定向爬虫
- python爬虫学习 之 定向爬取 中国大学排名
- Python实现基于协程的异步爬虫(一)
- Python实现基于协程的异步爬虫
- python 爬虫 大众点评美食排名
- 基于scrapy爬虫的天气数据采集(python)
- Python实现基于协程的异步爬虫
- 基于python的-反反爬虫手段
- python爬虫由浅入深3--BeautifulSoup的使用的基本方法
- python淘宝爬虫基于requests抓取淘宝商品数据
- python3.x爬虫:爬取大学排名数据
- Python3.5 爬虫之由浅入深(二、get多个网页)
- 基于python实现的抓取腾讯视频所有电影的爬虫
- 基于Python实现微信公众号爬虫进行数据分析
- 基于Python使用scrapy-redis框架实现分布式爬虫 注
- 用python爬虫爬取百度外卖店铺排名