Python练习-爬虫(附加爬取中国大学排名)

本文介绍了Python爬虫的基本概念和常用的第三方库requests与beautifulsoup4,讲解了如何利用它们抓取并解析网页内容。以中国大学排名为例,展示了如何获取网页数据、分析并提取有用信息。爬虫过程包括获取网页内容、处理HTML结构和存储数据到Excel。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python与网页处理

Python 语言发展中有一个里程碑式的应用事件,即美国谷歌(GOOGLE)公司在搜索引擎后端采用Python 语言进行链接处理和开发,这是该语言发展成熟的重要标志。Python 语言的简洁性和脚本特点非常适合链接和网页处理。万维网(WWW)的快速发展带来了大量获取和提交网络信息的需求,这产生了“网络爬虫”等一系列应用。

Python 语言提供了很多类似的函数库,包括urllib、urllib2、urllib3、wget、scrapy、requests 等。对于爬取回来的网页内容,可以通过re(正则表达式)、beautifulsoup4等函数库来处理。网络爬虫一般分为两个步骤:(1)通过网络连接获取网页内容(2)对获得的网页内容进行处理。分别使用两个不同的函数库:requests 和beautifulsoup4,它们都是第三方库。

安装第三方库

安装requests库命令: pip install requests 或者 pip3 install requests

安装beautifulsoup4库: pip install beautifulsoup4  或者 pip3 install beautifulsoup4

网页爬虫

python语言实现网页爬虫和提交信息很简单,代码量少,且无需知道网络通信方面知识,非专业者也可以容易上手。但是,肆意的爬取网页容易触碰法律的底线,所以在爬取一个网站前最好先康康这个网页的Robots排除协议(爬虫协议),它是网站管理者表达是否希望爬虫自动获取网络信息意愿的方法,一般在网页后加上 /robots.txt 即可康到。

Robots 排除协议重点约定不希望爬虫获取的内容,如果没有该文件则表示网站内容可以被爬虫获得,然而,Robots 协议不是命令和强制手段,只是国际互联网的一种通用道德规范。绝大部分成熟的搜索引擎爬虫都会遵循这个协议,建议个人也能按照互联网规范要求合理使用爬虫技术

B站爬虫协议

requests库的使用

requests 库是一个简洁且简单的处理HTTP请求的第三方库,最大的优点是程序编写过程更接近正常URL 访问过程,这个库建立在Python 语言的urllib3 库基础上。

request 库支持非常丰富的链接访问功能,包括:国际域名和URL 获取、HTTP 长连接和连接缓存、HTTP 会话和Cookie 保持、浏览器使用风格的SSL 验证、基本的摘要认证、有效的键值对Cookie 记录、自动解压缩、自动内容解码、文件分块上传、HTTP(S)代理功能、连接超时处理、流数据下载等。详见 http://docs.python‐requests.org。

requests库中的网页请求函数

 
get() 函数是获取网页最常用的方式,在调用 requests.get() 函数后,返回的网页内容会保存为一个Response 对象,其中,get() 函数的参数url 必须链接采用 HTTP 或 HTTPS 方式访问

import requests
# get方式打开B站
request = requests.get("http://www.bilibili.com")
print(type(request))  # <class 'requests.models.Response'>


和浏览器的交互过程一样,requests.get() 代表请求过程,它返回的 response 对象代表响应。返回内容作为一个对象更便于操作,Response 对象的属性如下表所示,需要采用<a>.<b>

response对象属性


status_code 属性返回请求HTTP 后的状态,在处理数据之前要先判断状态情况,如果请求未被响应,需要终止内容处理。 

text 属性是请求的页面内容,以字符串形式展示。

encoding 属性非常重要,它给出了返回页面内容的编码方式,可以通过对encoding 属性赋值更改编码方式,以便于处理中文字符 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什巳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值