python之中国大学爬虫
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
############################
#File Name: zuihaodaxuepaiming.py
#Author: frank
#Mail: frank0903@aliyun.com
#Created Time:2018-05-15 21:45:55
############################ import requests
from bs4 import BeautifulSoup #1. 获取html页面的内容
def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()
#r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
return r.text except:
print("爬取异常")
return "" #2. 从html页面内容中爬取大学排名信息, (排名,学校名称,总分)
def getUnivInfo(uLst, html):
soup = BeautifulSoup(html, "lxml")
#获取排名中的大学的数量
print(len(soup.tbody.find_all("tr", recursive=False)))
#列出tbody的子节点
#for tag in soup.tbody.find_all('tr', recursive=False):
# #print("name:{},type:{}".format(tag.name, type(tag)))
# print(tag.td.string)
for tr in soup.tbody.find_all('tr', recursive=False,limit=1):
tds = tr('td')
#print(tr.prettify())
#print(tds)
#print(tds[0].string,tds[1].string, tds[3].string)
uLst.append([tds[0].string,tds[1].string, tds[3].string]) #3. 显示排名信息
#def printUnivInfo(uLst, num):
# print("{0:^10}\t{1:{3}^10}\t{2:^10}".format("排名","学校名称","总分",chr(12288)))
# for uni in uLst[0:num]:
# print("{0:^10}\t{1:{3}^10}\t{2:^10}".format(uni[0],uni[1],uni[2],chr(12288))) def printUnivInfo(uLst, num):
ptstr = "{0:^10}\t{1:{3}^10}\t{2:^10}"
print(ptstr.format("排名","学校名称","总分",chr(12288)))
for uni in uLst[0:num]:
print(ptstr.format(uni[0],uni[1],uni[2],chr(12288))) #中文字符的空格填充 chr(12288) def main():
url = "http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html"
uLst = []
html = getHTMLText(url)
#print(html)
print("getHTMLText")
getUnivInfo(uLst, html)
print("getUnivInfo")
printUnivInfo(uLst, 10) main()
该实例主要是针对 requests 和 BeautifulSoup的应用。
python之中国大学爬虫的更多相关文章
- Python之爬虫-中国大学排名
Python之爬虫-中国大学排名 #!/usr/bin/env python # coding: utf-8 import bs4 import requests from bs4 import Be ...
- python爬虫学习心得:中国大学排名(附代码)
今天下午花时间学习了python爬虫的中国大学排名实例,颇有心得,于是在博客园与各位分享 首先直接搬代码: import requests from bs4 import BeautifulSoup ...
- python网络爬虫-中国大学排名定向爬虫
爬虫定向爬取中国大学排名信息 #!/usr/bin/python3 import requests from bs4 import BeautifulSoup import bs4 #从网络上获取大学 ...
- Python 中国大学排名定向爬虫
代码来自于中国大学Mooc北京理工大学Pythont教学团队:https://www.icourse163.org/learn/BIT-1001870001#/learn/content?type=d ...
- 【python】下载中国大学MOOC的视频
[python]下载中国大学MOOC的视频 脚本目标: 输入课程id和cookie下载整个课程的视频文件,方便复习时候看 网站的反爬机制分析: 分析数据包的目的:找到获取m3u8文件的路径 1. 从第 ...
- 中国大学MOOC课程信息爬取与数据存储
版权声明:本文为博主原创文章,转载 请注明出处: https://blog.csdn.net/sc2079/article/details/82016583 10月18日更:MOOC课程信息D3.js ...
- 关于python的中国历年城市天气信息爬取
一.主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称 关于python的中国城市天气网爬取 2.主题式网络爬虫爬取的内容与数据特征分析 爬取中国天气网各个城市每年各个月份的天气数据, 包括最高城 ...
- 中国大学MOOC课程信息之数据分析可视化一
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/82263391 9月2日更:中国大学MOOC课程信息之数据分 ...
- Python初学者之网络爬虫(二)
声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途.转载请附上此文章地址 本篇文章Python初学者之网络爬虫的继续,最新代码已提交到https://github.com/octans ...
随机推荐
- 手机APP上中下三层
代码如下: <template> <div class="container" id="app"> <header> < ...
- 《Go语言实战》笔记之第四章 ----数组、切片、映射
原文地址: http://www.niu12.com/article/11 ####数组 数组是一个长度固定的数据类型,用于存储一段具有相同的类型的元素的连续块. 数组存储的类型可以是内置类型,如整型 ...
- if __name__=='__main__"在有的virtualenvs环境下执行成功,在有的环境下执行失败?
我的项目是erebus,所以默认的python解释器位于virtualenvs下的erebus,但是这个执行环境执行某个py文件总是失败,换其他的执行器执行反而没有问题: 排查了半天,才发现erebu ...
- dl,dt,dd标记在网页中要充分利用
dl,dt,dd标记在网页中要充分利用 来源:网络整理 时间:08-05-27 点击: 点击这里收藏本文 我们在制作网页过程中用到列表时一般会使用<ul>或者<ol>标签,很少 ...
- localstorge的缓存写法(超过一定时间自动清空)
使用缓存: (设置缓存,尽量用大写,下划线的写法) const ls = { set: function (variable, value, ttl_ms) { var data = {value: ...
- css实现半颗星评分效果
效果如下: html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- XSD-学习总结
1.代码详细分析 <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/X ...
- 远程操作linux
import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.IOUtils; import c ...
- Media-媒介(媒体、介质)【译】
Media-媒介(媒体.介质) 转载请注明来源:http://blog.csdn.net/lifeshow Android支持定制的媒介解码器,需要将定制的解码器接口暴露给框架. ...
- div 隐藏和显示
转自:http://aideehorn.iteye.com/blog/417558 div的visibility可以控制div的显示和隐藏,但是隐藏后页面显示空白: style="visib ...