python之中国大学爬虫

 1 #!/usr/bin/env python3
 2 #-*- coding:utf-8 -*-
 3 ############################
 4 #File Name: zuihaodaxuepaiming.py
 5 #Author: frank
 6 #Mail: [email protected]
 7 #Created Time:2018-05-15 21:45:55
 8 ############################
 9
10 import requests
11 from bs4 import BeautifulSoup
12
13
14 #1. 获取html页面的内容
15 def getHTMLText(url):
16     try:
17         r = requests.get(url)
18         r.raise_for_status()
19         #r.encoding = r.apparent_encoding
20         r.encoding = ‘utf-8‘
21         return r.text
22
23     except:
24         print("爬取异常")
25         return ""
26
27 #2. 从html页面内容中爬取大学排名信息, (排名,学校名称,总分)
28 def getUnivInfo(uLst, html):
29     soup = BeautifulSoup(html, "lxml")
30     #获取排名中的大学的数量
31     print(len(soup.tbody.find_all("tr", recursive=False)))
32     #列出tbody的子节点
33     #for tag in soup.tbody.find_all(‘tr‘, recursive=False):
34     #    #print("name:{},type:{}".format(tag.name, type(tag)))
35     #    print(tag.td.string)
36     for tr in soup.tbody.find_all(‘tr‘, recursive=False,limit=1):
37         tds = tr(‘td‘)
38         #print(tr.prettify())
39         #print(tds)
40         #print(tds[0].string,tds[1].string, tds[3].string)
41         uLst.append([tds[0].string,tds[1].string, tds[3].string])
42
43 #3. 显示排名信息
44 #def printUnivInfo(uLst, num):
45 #    print("{0:^10}\t{1:{3}^10}\t{2:^10}".format("排名","学校名称","总分",chr(12288)))
46 #    for uni in uLst[0:num]:
47 #        print("{0:^10}\t{1:{3}^10}\t{2:^10}".format(uni[0],uni[1],uni[2],chr(12288)))
48
49 def printUnivInfo(uLst, num):
50     ptstr = "{0:^10}\t{1:{3}^10}\t{2:^10}"
51     print(ptstr.format("排名","学校名称","总分",chr(12288)))
52     for uni in uLst[0:num]:
53         print(ptstr.format(uni[0],uni[1],uni[2],chr(12288))) #中文字符的空格填充 chr(12288)
54
55 def main():
56     url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"
57     uLst = []
58     html = getHTMLText(url)
59     #print(html)
60     print("getHTMLText")
61     getUnivInfo(uLst, html)
62     print("getUnivInfo")
63     printUnivInfo(uLst, 10)
64
65 main()

该实例主要是针对 requests 和 BeautifulSoup的应用。

原文地址:https://www.cnblogs.com/black-mamba/p/9043641.html

时间: 2024-10-24 18:29:25

python之中国大学爬虫的相关文章

Python网络爬虫与信息提取(中国大学mooc)

目录 目录 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 目标获取淘宝搜索页面的信息 理解淘宝的搜索接口翻页的处理 技术路线requests-refootnote 代码如下 股票数据定向爬虫 列表内容 爬取网站原则 代码如下 代码优化 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 股票数据定向爬虫 1. 淘宝商品比价定向爬虫 功能描述 目标:获取淘宝搜索页面的信息 理解:淘宝的搜索接口翻页的处理 技术路线:requests-re[^footnote]. 代码如下: #CrowTa

Python爬虫——定向爬取“中国大学排名网”

内容整理自中国大学MOOC——北京理工大学-蒿天-Python网络爬虫与信息提取 相关实战章节 我们预爬取的url如下 http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html 网页节选 在浏览器中读取网页源代码 可以 发现表格数据信息是直接写入HTML页面信息中,所以我们可以直接采取定向爬虫操作. 我们的整体设计思路如下: 1.从网络上获取大学排名网络内容 2.提取网页内容中信息到合适的数据结构 3.利用数据结构展示并输出结果 仔细观察可以发现

中国大学排名(定向爬虫)实例

中国大学排名(定向爬虫)实例 获取中国大学排名的爬虫实例,采用了requests和BeautifulSoup4函数库 中国大学排名网址:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html 功能描述: 输入:大学排名URL连接 输出:大学排名信息的屏幕输出(排名,大学名称,总分) 技术路线:equests和bs4 定向爬虫:仅对输入URL进行爬取,不扩展爬取 robots协议: 定向爬虫网址是否提供robots协议的约定,由于我们只访问了这个

下载大数据实战课程第一季Python基础和网络爬虫数据分析

python语言近年来越来越被程序相关人员喜欢和使用,因为其不仅简单容易学习和掌握,而且还有丰富的第三方程序库和相应完善的管理工具:从命令行脚本程序到gui程序,从B/S到C/S,从图形技术到科学计算,软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有python的身影:python已经深入到程序开发的各个领域,并且会越来越多的人学习和使用. 大数据实战课程第一季Python基础和网络爬虫数据分析,刚刚入手,转一注册文件,视频的确不错,可以先下载看看:链接:http://pan.baidu

中国大学MOOC-陈越、何钦铭-数据结构-2017春

跟着<中国大学MOOC-陈越.何钦铭-数据结构-2017春>学习,平时练习一下pat上的作业外:在这里记录一下:平时学习视屏的收获. 1.递归内存爆掉        2.解决问题的效率和算法的技巧有关,第一种写法会被鄙视:当执行时间长的,可以看出效率     

中国大学MOOC-陈越、何钦铭-数据结构基础习题集 03-1. 二分法求多项式单根

03-1. 二分法求多项式单根(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2:否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2): 如

Python写的网络爬虫程序(很简单)

Python写的网络爬虫程序(很简单) 这是我的一位同学传给我的一个小的网页爬虫程序,觉得挺有意思的,和大家分享一下.不过有一点需要注意,要用python2.3,如果用python3.4会有些问题出现. python程序如下: import re,urllib strTxt="" x=1 ff=open("wangzhi.txt","r") for line in ff.readlines(): f=open(str(x)+".txt&

中国大学MOOC-翁恺-C语言程序设计习题集

Technorati 标签: 中国大学MOOC-翁恺-C语言程序设计习题集,C 今年网易出了"中国大学MOOC",于是选了浙大翁恺老师的"C语言程序设计"学习,近期打算把自己在该课程中的PAT习题解答做一个记录,等自己编程能力提高后再来看现在写的代码哪里还有写的不好,可以改进的地方,达到反思的目的.   中国大学MOOC-翁恺-C语言程序设计习题集,布布扣,bubuko.com

中国大学怎么毁了中国大学生 我对大学有话要说 欢迎大家参与 微信公众账号Lyg5788

中国大学怎么回了中国大学生    我对大学有话要说 为应大家参与  微信公众账号Lyg5788 本文为天慧广告公司原创   微信公众账号Lyg5788 当大学成为消灭童年.浪费青春.消磨斗志.回报渺茫的人生圈套,知识就无力改变个人命运:当大学成为官场.商场.欢场与名利场,大学的谎言就毁了中国精英的生长土壤--可敬的大学,就成了可怕的大学. 校长官员化.行政官僚化.评估泡沫化.建筑浮夸化.人际厚黑化.排名黑幕化.资源集权化.招生产业化.扩张盲目化.文凭贬值化.财政腐败化.监督无力化.授课形式化.学