初学爬虫之访问goole网页与爬取中国大学排名。

摘要:
访问谷歌页面#-*-coding:timeout=30)r.raise_for_Status()#如果状态不是200,将抛出异常。插入代码importRequestsfrombs4importBeautifulSoupalUniv=[]defgetHTMLText(url):

Requests库get()函数访问google网页20次。

1.Requests模块介绍:

Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。

Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。

在Python的世界里,事情不应该这么麻烦。

Requests 使用的是 urllib3,因此继承了它的所有特性。Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。现代、国际化、人性化。

(以上转自Requests官方文档

导入Requests模块。

初学爬虫之访问goole网页与爬取中国大学排名。第1张

2.插入代码:访问Google网页

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
import requests
def getHTMLText(ur1):
    try:
        r=requests.get(ur1,timeout=30)
        r.raise_for_status() #如果状态不是200,引发异常
        r.encoding='utf-8'#无论原来用什么编码,都改成utf-8
        return r.text
    except:
        return""
ur1="http://www.Google.com"
for i in range(20):
    print(getHTMLText(ur1))

运行结果如下:

初学爬虫之访问goole网页与爬取中国大学排名。第2张

(好像访问不了哦。)

 爬取中国大学排名(2017年)

1.插入代码

import requests
from bs4 import BeautifulSoup
allUniv = []
def getHTMLText(url):
    try:
        r = requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding = 'utf-8'
        return r.text
    except:
        return ""
def fillUnivList(soup):
    data = soup.find_all('tr')
    for tr in data:
        ltd = tr.find_all('td')
        if len(ltd)==0:
            continue
        singleUniv = []
        for td in ltd:
            singleUniv.append(td.string)
        allUniv.append(singleUniv)
def printUnivList(num):
    print("{1:^2}{2:{0}^10}{3:{0}^6}{4:{0}^4}{5:{0}^10}".format(chr(12288),"排名","学校名称","省市","总分","培养规模"))
    for i in range(num):
        u = allUniv[i]
        print("{1:^4}{2:{0}^10}{3:{0}^5}{4:{0}^8.1f}{5:{0}^10}".format(chr(12288),u[0],u[1],u[2],eval(u[3]),u[6]))
def main():
    url = 'http://www.zuihaodaxue.com/zuihaodaxuepaiming2017_0.html'
    html = getHTMLText(url)
    soup = BeautifulSoup(html, "html.parser")
    fillUnivList(soup)
    printUnivList(10)
main()

2.运行结果。

初学爬虫之访问goole网页与爬取中国大学排名。第3张

抱歉初学爬虫之访问goole网页与爬取中国大学排名。第4张初学者出现问题了,应该是那个网站的2017那个网页的代码有错误,代码没错。

免责声明:文章转载自《初学爬虫之访问goole网页与爬取中国大学排名。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C89标准和C99标准C11标准的区别CSS---选择器种类 | 层叠性权重下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

界面编程模仿篇(QQ登录界面逼真篇)

写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完善,明天开始继续搞爬虫,等有时间时再完善,先凑和着吧: 本篇博文就分析一下这个界面设计中的几个关键点,在阅读本博文之前请先阅读我个人博客上关于模仿QQ界...

python爬虫数据解析之xpath

xpath是一门在xml文档中查找信息的语言。xpath可以用来在xml文档中对元素和属性进行遍历。 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点。 节点 首先看下面例子: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> &l...

关于 SetProcessWorkingSetSize 和内存释放

在应用程序中,往往为了释放内存等,使用一些函数,其实,对于内存操作函数要谨慎使用,比如大家常常想到的 SetProcessWorkingSetSize,其实对于windows来说,系统会自动在程序闲置时(如程序被最小化)释放内存的,自己用内存释放 时,往往会造成一些莫名的内存错误,造成自己的应用程序及系统不稳定。 具体原理有人已经写得很清楚了,以下为转帖的...

Web前端开发最佳实践(9):CSS代码太太乱,重复代码太多?你需要精简CSS代码

前言 提高网站整体加载速度的一个重要手段就是提高代码文件的网络传输速度。之前提到过,所有的代码文件都应该是经过压缩了的,这可提高网络传输速度,提高性能。除了压缩代码之外,精简代码也是一种减小代码文件大小的手段。以下将讨论CSS代码相关的代码精简方案。 定义简洁的CSS规则 CSS的每条规则中都包含了规则的属性及属性值。定义简洁的CSS规则主要是指合并相关规...

EasyUI中datagrid双击事件

EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tableworkbydaydata').datagrid({ onDblClickRow: function (rowIndex, rowData) {...

nginx正向代理 (带着请求头)

当你获得云服务器之后, 你有这样一个需求:当你要访问一个url的时候,这个URL只能在人家的云服务器上访问(比如百度),所以你要买百度的BCC,你可能在想在BCC起服务,那样有点麻烦,直接使用nginx代理就可以解决问题了,因为url涉及到验证,所以要把请求头带上。 首先下载nginx apt-get install nginx 最后配置nginx配置文件...